A-AA+then

รบกวนถามการกรอกฟอร์มขณะพิมพ์ด้วย AJAX

1,033
ผมจะทำการค้นหาข้อมูลโดยการกรอกช่องการค้นหา 2 ช่อง โดยข้อมูลที่จะออกมาแสดงต้องตรงตามเงื่อนไขที่ กรอกจาก
ช่องที่ 1 และ 2  ถ้ากรอกเพียงช่องเดียว หรือช่องใคช่องหนึ่ง หรือไม่ตรงกับเงื่อนไขที่กำหนอก็ไม่แสดงข้อมูล

ผมได้ทำตามอาจารย์แนะนำแล้ว โดยการกำหนด

req.send('find2.php' ,  'user=' + encodeURIComponent(input.value) + '&user2=' + encodeURIComponent(input.value) , function(xhr) {

พอรันแล้วมันไม่เป็นไปตามเงื่อนไข ถ้ากรอกช่องที่ 1 ข้อมูลก็แสดง ถ้ากรอกช่องที่ 2 ข้อมูลก็แสดงเช่นกัน แล้วแต่ว่าการกรอกค้นหาในช่องนั้นๆ จะมีข้อมูลหรือไม่

ผมจะต้องกำหนดเงื่อนไข ยังไงหรือครับ

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

ถ้าส่งไปแบบนี้ ก็ไป if ที่  php เอาสิครับ ว่า ช่องไหนส่งข้อมูลมา

แนวคิดง่ายๆ ก็คือ

ตอนส่ง เราจะส่งค่าที่ต้องการไปกี่ค่าก็ได้ จะส่งไปทั้งหมด หรือคัดเลือกค่าที่ต้องการก็ได้

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

การส่งค่ากลับ ถ้ามีหลายๆค่า แนะนำให้ส่งกลับเป็น JSON เพราะในตอนแปลงกลับจะง่ายกว่า

ตอนรับค่ากลับมาแสดงผล ถ้าเราส่งค่ากลับมาเป็น JSON เราก็สามารถ ใช้ฟังก์ชั่น string.toJSON() เพื่อแปลงกลับเป็น JSON และนำผลลัพท์ที่ได้ไปจัดการแสดงผลที่เหมาะสม

แนวคิดนี้มีใช้ใน GCMS ตอนสมัครสมาชิกครับ มีหลักการคล้ายๆกัน
1
^