รบกวนถามการกรอกฟอร์มขณะพิมพ์ด้วย AJAX
ผมจะทำการค้นหาข้อมูลโดยการกรอกช่องการค้นหา 2 ช่อง โดยข้อมูลที่จะออกมาแสดงต้องตรงตามเงื่อนไขที่ กรอกจาก
ช่องที่ 1 และ 2 ถ้ากรอกเพียงช่องเดียว หรือช่องใคช่องหนึ่ง หรือไม่ตรงกับเงื่อนไขที่กำหนอก็ไม่แสดงข้อมูล
ผมได้ทำตามอาจารย์แนะนำแล้ว โดยการกำหนด
req.send('find2.php' , 'user=' + encodeURIComponent(input.value) + '&user2=' + encodeURIComponent(input.value) , function(xhr) {
พอรันแล้วมันไม่เป็นไปตามเงื่อนไข ถ้ากรอกช่องที่ 1 ข้อมูลก็แสดง ถ้ากรอกช่องที่ 2 ข้อมูลก็แสดงเช่นกัน แล้วแต่ว่าการกรอกค้นหาในช่องนั้นๆ จะมีข้อมูลหรือไม่
ผมจะต้องกำหนดเงื่อนไข ยังไงหรือครับ
ช่องที่ 1 และ 2 ถ้ากรอกเพียงช่องเดียว หรือช่องใคช่องหนึ่ง หรือไม่ตรงกับเงื่อนไขที่กำหนอก็ไม่แสดงข้อมูล
ผมได้ทำตามอาจารย์แนะนำแล้ว โดยการกำหนด
req.send('find2.php' , 'user=' + encodeURIComponent(input.value) + '&user2=' + encodeURIComponent(input.value) , function(xhr) {
พอรันแล้วมันไม่เป็นไปตามเงื่อนไข ถ้ากรอกช่องที่ 1 ข้อมูลก็แสดง ถ้ากรอกช่องที่ 2 ข้อมูลก็แสดงเช่นกัน แล้วแต่ว่าการกรอกค้นหาในช่องนั้นๆ จะมีข้อมูลหรือไม่
ผมจะต้องกำหนดเงื่อนไข ยังไงหรือครับ
แนวคิดง่ายๆ ก็คือ
ตอนส่ง เราจะส่งค่าที่ต้องการไปกี่ค่าก็ได้ จะส่งไปทั้งหมด หรือคัดเลือกค่าที่ต้องการก็ได้
ตอนรับ เมื่อเรารับค่ามาแล้ว ก็เอาค่าที่ได้มาคัดแยก หรือ เอาไปทำอย่างอื่นให้เป็นไปตามต้องการ
การส่งค่ากลับ ถ้ามีหลายๆค่า แนะนำให้ส่งกลับเป็น JSON เพราะในตอนแปลงกลับจะง่ายกว่า
ตอนรับค่ากลับมาแสดงผล ถ้าเราส่งค่ากลับมาเป็น JSON เราก็สามารถ ใช้ฟังก์ชั่น string.toJSON() เพื่อแปลงกลับเป็น JSON และนำผลลัพท์ที่ได้ไปจัดการแสดงผลที่เหมาะสม
แนวคิดนี้มีใช้ใน GCMS ตอนสมัครสมาชิกครับ มีหลักการคล้ายๆกัน