GORAGOD.com

freelance, web developer, web designer, hosting, domain name

สอบถามการเอา Ajax 2 function มารวมกันค่ะ

สมมติว่า เราจะรวมเอา Ajax ที่แยก function การทำงานกันมารวมกัน จะทำได้ไหมคะ

พอดีว่าหนุพยายามจะรวมเอาการเลือกวันที่เพื่อจะเลือกช่วงข้อมูลมารวมกับการเลือก chkbox ว่าอยากดูดาต้าไหนบ้างน่ะค่ะ

แต่เหมือนพอทำแล้วมันแยกการทำงานกัน กดวันที่ ก็ออกมาแค่วันที่ พอกดเชคบอกซ์ ก็ไม่เอาค่าของวันที่มาใช้เลย



ขอบคุณค่ะ :39:
22 มี.ค. 2555 7 2,473

งงกับคำถาม ว่แยกฟังก็ชั่นยังไง...



ถ้าหมายถึง ว่ามีตัวเลือกที่ต้องส่งไป มากว่า 1 ค่า ที่จำเป็นต่อการ query ก็ต้องส่งทั้ง 2 ค่าไปพร้อมกันครับ เสร็จแล้วไปจัดการ query ที่ปลายทั้งแล้วค่อยส่งกลับ เช่น



มี input 2 ตัว คือ username กับ password ถ้าเรากดเพื่อส่งไปเพียงค่าเดียว คือ username หรือ password เราก็จะ login ไม่ได้ เราก็จำเป็นต้องส่งทั้ง username และ password ไปด้วยกัน ถึงจะตรวจสอบการ login ได้ เช่น



var q = 'username=' + document.getElementById('username').value + '&password=' + document.getElementById('password').value;



#1

แล้วให้สองอันนี้ส่งไปฟังก์ชันอันเดียวกันหรอคะ



คืออันนึงเป็นปุ่ม button อีกอันเป็น checkbox น่ะค่ะ คือเพื่อนหนูทำส่วนของใช้วันที่ในการคิวรี่ดาต้าออกมาแล้วต้องกดปุ่ม button ถึงจะส่งไปยังส่วนของเอแจกซ์ และหนูทำส่วนของการใช้เชคบอกซ์ในการเลือกดูชนิดของดาต้าที่จะเอามาเปรียบเทียบ เลยงงๆ ว่าจะส่ง input ไปพร้อมๆ กันอย่างไรดีน่ะค่ะ
#2

ตอบตรงๆก็คือไม่รู้ว่า จุดประสงค์หรือความต้องการอะไร ซึ่งคำตอบก็ได้แต่เดาเอาครับ



ประเด็นก็คือ สิ่งที่ต้อง query ต้องการข้อมูลอะไรบ้างถึงจะ query ได้ ก็ให้อ่านข้อมูลที่จำเป็นต้องใช้ทั้งหมดด้วย Javascript แล้วส่งไป query ด้วย Ajax ซึงไม่ได้หมายความว่า ข้อมูลที่ต้องส่งจะอยู่ที่ไหน หรืออยู่ใน input ชนิดอะไร ถ้า query ต้องการมันก็จำเป็นที่จะต้องหาเพื่องส่งให้มันครับ



ดังนั้นคำตอบของคำถามด้านบนคือใช่ ยกตัวอย่างจากคำตอบก่อนหน้า คือการ login จำเป็นต้องใช้ทั้ง username และ password ในการตรวจสอบ ก็จำเป็นต้องอ่านและส่งไปครับ



ปล. อาจเป็น input textarea checkbox select หรืออะไรก็ได้ทั้งนั้น หรือแม้แต่ span หรือ div ก็ยังใช้เป็นแหล่งข้อมูลที่ต้องส่งไปได้
#3

ถ้าส่ง event ไปพร้อมกับ ค่า parameter สามารถทำได้ไหมคะ
#4

อ้างอิงจาก ความคิดเห็น #4ถ้าส่ง event ไปพร้อมกับ ค่า parameter สามารถทำได้ไหมคะ
:46:
#5

อย่างเวลาส่ง $G(item).addEvent('click', doCheckClick) ไปน่ะค่ะ ถ้าจะส่งอีก parameter อีกตัวนึงไปพร้อมๆ กันต้องทำยังไงคะ
#6

อ้างอิงจาก ความคิดเห็น #6อย่างเวลาส่ง $G(item).addEvent('click', doCheckClick) ไปน่ะค่ะ ถ้าจะส่งอีก parameter อีกตัวนึงไปพร้อมๆ กันต้องทำยังไงคะ


ก็ยังไม่เข้าใจคำถามอยู่ดี



ถ้าจะส่ง parameter มากกว่า 1 ตัว ก็ใช้วิธีอ่าน parameter ที่ต้องการแล้วส่งไปสิครับ ยกตัวอย่างเช่นการส่ง username และ password นั่นแหละครับ



var doCheckClick = function(){

   var q = 'v1=' + $E('input1').value;

   q += '&v2=' + $E('input2').value;

   --------

  new GAjax.send('path/to/file.php', q, function(xhr){

      // debug

      alert(xhr.responseText);

      ---------

  });

}



$G(item).addEvent('click', doCheckClick);










#7
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^