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

usericon
Posted By

สมมติว่า เราจะรวมเอา Ajax ที่แยก function การทำงานกันมารวมกัน จะทำได้ไหมคะ
พอดีว่าหนุพยายามจะรวมเอาการเลือกวันที่เพื่อจะเลือกช่วงข้อมูลมารวมกับการเลือก chkbox ว่าอยากดูดาต้าไหนบ้างน่ะค่ะ
แต่เหมือนพอทำแล้วมันแยกการทำงานกัน กดวันที่ ก็ออกมาแค่วันที่ พอกดเชคบอกซ์ ก็ไม่เอาค่าของวันที่มาใช้เลย

ขอบคุณค่ะ :39:

7 ความคิดเห็น

usericon
Goragod 1

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

ถ้าหมายถึง ว่ามีตัวเลือกที่ต้องส่งไป มากว่า 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;

usericon
pz.yunho@msn.com 2

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

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

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

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

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

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

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

อ้างจากคำตอบที่ #4ถ้าส่ง event ไปพร้อมกับ ค่า parameter สามารถทำได้ไหมคะ
:46:
usericon
pz.yunho@msn.com 6

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

อ้างจากคำตอบที่ #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);





ร่วมแสดงความคิดเห็น

รูปภาพอัปโหลด ขนาด “500 Kb.” ชนิด “jpg” เท่านั้น

antispam