A-AA+then

รบกวนเรื่อง การกรอกฟอร์ขณะพิมพ์ ด้วย Ajax อีกทีครับ

1,154

ผมได้ถามเกี่ยวกับ การกรอกฟอร์ขณะพิมพ์ ด้วย Ajaxไปหลายรอบ อาจารย์ก็แนะนำให้อย่างดี แต่มันก็ติดปัญหาทุกที ดูแล้วดูอีกก็ยังไม่เข้าใจการทำงานของมันจริงๆครับเลยมาถามต่อ

ผมได้ทำตามคำเเนะนำแล้วลอง ทดสอบการกรอกฟอร์ขณะพิมพ์ ด้วย Ajax(1)  แล้วก็ได้ครับ แต่มันกลับกรอกได้เพียงอันเดียว ถ้ากรอกอันที่1 ข้อมูลก็ออกของอันที่ 1 ถ้ากรอกอันที่ 2 มันจะรีเฟรช ข้อมูลในช่องอันที่1 ก็หายไป
และได้ทำ เงื่อนไข if else ก็ error ครับ

ผมเอาการกรอกฟอร์ขณะพิมพ์ ด้วย Ajax(2)  มาก็เช่นเดิมครับข้อมูลไม่มาเลย ครับ

<?php
 // สำหรับตรวจสอบในขณะกรอกข้อมูล
 header("content-type: text/html; charset=UTF-8");

 // กำหนดข้อมูล (ตัวอย่าง)
 $users = array('demo', 'demon');
 $names = array('ratree', 'nammeet');
 $emails = array('demo@rrt.com', 'demo@yahoo.com');

if ((isset( $_POST['user'])) AND (isset($_POST['name']))){

  // ส่ง user มา ค้นหา
  $user = trim($_POST['user']);
  $name = trim($_POST['user']);
  // ค้นหาข้อมูล
  $i = 0;
  while ($i < count($users)) {
   // ค้นหาบางส่วนของคำ
   if (strpos($users[$i], $user) !== FALSE) {
    break;
   }
   $i++;
  }
  // กำหนดค่าที่คืน
  // ใช้คีย์ เป็นค่าของพื้นที่ที่ต้องการแสดงผล
  $ret[] = 'resultUser":"'.$users[$i];
 
   
}
 // คืนค่าเป็น JSON
 echo '[{"'.implode('","', $ret).'"}]';
?>
 


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

ถ้าเธอใช้โค้ดนี้ ก็คงเป็นเช่นนั้น

หลักการของการทำงานก็ให้คิด concept แบบตรงไปตรงมาสิ คิด concept ให้ออกก่อนแล้วเอา concept ไปแปลงเป็นโค้ด

1.ถ้าเธอสามารถทำตามตัวอย่างที่ 1 ได้ ให้เข้าใจว่า ตัวอย่างที่ 1 เป็นการกรอกจากค่าเพียงค่าเดียว แต่ รับค่ากลับหลายค่า เอามาแสดงผลที่ต่างๆกัน

2.ตัวอย่างที่ 2 เป็นการส่งค่าไปค้นหา มากกว่า 1 ค่า โดยเงื่อนไขมีว่าเราจะส่งค่า ทั้งหมด ไปค้นหายังไฟล์เดียว

ในกรณีที่ 2 เราสามารถออกแบบโดยยึดหลักกรณีที่ 1 ได้ คือ แยกโค้ดออกเป็น 2 ชุด input แต่ละตัว ทำตามโค้ดแบบที่ 1 คนละชุดกัน ก็สามารถทำได้ แต่มันไม่จำเป็น ผมเลย รวมเอาทั้ง 2 อย่างเข้าไว้เป็นไฟลืเดียวกัน ตามตัวอย่างที่ 2 เพื่อให้เราสามารถค้นหาข้อมูลจาก input หลายๆ อย่างบนไฟล์เดียวกันได้ และแน่นอน สามารถมีผลลัพท์ตอบกับมากกว่า 1 อย่างได้(เหมือนตัวอย่างที่ 1) ในการใช้ if ตามตัวอย่าง เป็นการใช้เพื่อแยกว่าการค้นหา เกิดจากการส่งค่าจาก input ตัวไหนมา ถ้าเธอเข้าใจการทำงานของมัน ถึงจะประยุกต์ต่อได้นะ

ลองไปพิจารณาตัวอย่างใหม่อีกครั้ง
1
^