freelance, web developer, web designer, hosting, domain name
อ้างอิงจาก ความคิดเห็น #4ถ้าส่ง event ไปพร้อมกับ ค่า parameter สามารถทำได้ไหมคะ
อ้างอิงจาก ความคิดเห็น #6อย่างเวลาส่ง $G(item).addEvent('click', doCheckClick) ไปน่ะค่ะ ถ้าจะส่งอีก parameter อีกตัวนึงไปพร้อมๆ กันต้องทำยังไงคะ
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);
ถ้าหมายถึง ว่ามีตัวเลือกที่ต้องส่งไป มากว่า 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;
คืออันนึงเป็นปุ่ม button อีกอันเป็น checkbox น่ะค่ะ คือเพื่อนหนูทำส่วนของใช้วันที่ในการคิวรี่ดาต้าออกมาแล้วต้องกดปุ่ม button ถึงจะส่งไปยังส่วนของเอแจกซ์ และหนูทำส่วนของการใช้เชคบอกซ์ในการเลือกดูชนิดของดาต้าที่จะเอามาเปรียบเทียบ เลยงงๆ ว่าจะส่ง input ไปพร้อมๆ กันอย่างไรดีน่ะค่ะ
ประเด็นก็คือ สิ่งที่ต้อง query ต้องการข้อมูลอะไรบ้างถึงจะ query ได้ ก็ให้อ่านข้อมูลที่จำเป็นต้องใช้ทั้งหมดด้วย Javascript แล้วส่งไป query ด้วย Ajax ซึงไม่ได้หมายความว่า ข้อมูลที่ต้องส่งจะอยู่ที่ไหน หรืออยู่ใน input ชนิดอะไร ถ้า query ต้องการมันก็จำเป็นที่จะต้องหาเพื่องส่งให้มันครับ
ดังนั้นคำตอบของคำถามด้านบนคือใช่ ยกตัวอย่างจากคำตอบก่อนหน้า คือการ login จำเป็นต้องใช้ทั้ง username และ password ในการตรวจสอบ ก็จำเป็นต้องอ่านและส่งไปครับ
ปล. อาจเป็น input textarea checkbox select หรืออะไรก็ได้ทั้งนั้น หรือแม้แต่ span หรือ div ก็ยังใช้เป็นแหล่งข้อมูลที่ต้องส่งไปได้
ก็ยังไม่เข้าใจคำถามอยู่ดี
ถ้าจะส่ง parameter มากกว่า 1 ตัว ก็ใช้วิธีอ่าน parameter ที่ต้องการแล้วส่งไปสิครับ ยกตัวอย่างเช่นการส่ง username และ password นั่นแหละครับ
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);