autocomplete หน้าหลักเว็บบอร์ดทั่วไปautocomplete ญาณวัฒน์ ฉายเหมือนวงศ์ ขอความช้วยเหลือหน่อยครับ autocomplete ใช้อย่างไงครับ รองแก้ 2 3 จุด ระบบก็ยังไม่เห็น เมนู autocomplete แล้วเราจะแยกไฟล์ autocomplete.php เป็น2ไฟล์ ได้มั้ยครับ อ้างอิงจากตรงไหนครับ เช่น autocompletes.php จะเพิ่มเมนูใหม่ครับ ขอบคุณล่วงหน้าครับ กรกฎ วิริยะ ไม่รู้ว่าจะทำอะไร ไม่รู้ลักษณะงานเลยตอบไม่ถูก มี 2 วิธีในการสร้าง autocomplete 1. ใช้ datalist กับ input text https://github.com/.../views/form.php#L200 2. ใช้ Javascript แบบง่ายๆ https://github.com/...repair/script.js#L16 3. ใช้ Javascript อันนี้จะซับซ้อนหน่อย https://github.com/...ews/autocomplete.php ญาณวัฒน์ ฉายเหมือนวงศ์ ผมจะแยกฐานข้อมูลลูกค้า เป็นสองชุดครับ OAS ของเก่า ลูกค้า กับคู่ค้า อยู่ฐานข้อมูลเดียวกันครับ ถ้าแยกไม่ได้ ขอคำชี้แนะ การใช้ตัวกรองแยกเป็น 2ประเภทหน่อยครับ ลูกค้า กับ คู่ค่า ขอบคุณล่วงหน้าครับ กรกฎ วิริยะ ถ้าตามความเห็นผม ไม่จำเป็นต้องแยกเลยครับ เพราะข้อมูลในนั้นอาจเป็น ลูกค้าหรือคู่ค้าก็ได้ ถ้าจะแยก ก็ใส่ flag ครับ จริงๆก็ใช้เทคนิค php+javascript ทั่วไปนี่แหละ ญาณวัฒน์ ฉายเหมือนวงศ์ อ้างอิงจาก ความคิดเห็น #3ถ้าตามความเห็นผม ไม่จำเป็นต้องแยกเลยครับ เพราะข้อมูลในนั้นอาจเป็น ลูกค้าหรือคู่ค้าก็ได้ ถ้าจะแยก ก็ใส่ flag ครับ จริงๆก็ใช้เทคนิค php+javascript ทั่วไปนี่แหละ ขอบคุณครับจะลองดูครับ php งูๆปลาๆ java ไม่ได้เลย html พอได้อยู่ครับ ญาณวัฒน์ ฉายเหมือนวงศ์ ตอนนี้ผมแยก ตาราง ลูกค้า กับ คู่ค้าได้แล้วครับ autocomplete ก็ทำงานได้ทั้ง ฟอร์มแล้วครับ เหลือแต่ ฟังชันเพื่มคู่ค้าหน้า ใบสั่งซื้อครับ ลองดูคำสั่งแล้วเป็นคำสั่ง JS Modal ก็เลยไปไม่ถูกเลยครับว่าจะแก้ ลิงค์ฟอร์มแบบไหน ลิงค์ของเก่า index.php/inventory/model/customer/submit ลิงค์ของใหม่แก้เป็น index.php/inventory/model/customerb/submit ขอบคุณล่วงหน้าครับ กรกฎ วิริยะ https://github.com/...entory/script.js#L84 บรรทัดนี้คือคำสั่งที่ส่งค่าไปยัง modal ครับ อยากส่งอะไรเพิ่มก็แก้ไขเอา (ผมไม่รู้ว่าทำยังไงไว้) หรือไม่ก็แยกฟังก์ชั่นออกเป็น 2 อันเลย ส่งของใครของมัน ก็ทำได้ (จะแยกไปจนถึง Form เลยก็ได้ แค่ก๊อปมาแก้ไขเล็กๆน้อยๆ ตามที่วางแผนไว้) จริงๆก็ประยุกต์ใช้จากความรู้พื้นฐานนี่แหละครับ อย่าคิดเยอะ ญาณวัฒน์ ฉายเหมือนวงศ์ ขอบคุณครับ ผมลองแก้หมดแล้วครับไม่ไม่ยอมเปลี่ยนก็เลยมึนไปไม่ถูก เดียวจะลอง Debug หาดูใหม่ครับ var addCustomerb = function() { showModal("xhr.php", "class=Inventory\\Customerb\\Controller&method=showModal&typ=1&name=" + encodeURIComponent($E("customerb").value), function() { $E("customerb").focus(); }); }; callClick("add_customerb", addCustomerb); if ($E('customerb')) { initAutoComplete( "customerb", WEB_URL + "index.php/inventory/model/autocomplete/findCustomerb", "company,name,email,phone", "customerb", { get: function() { return "name=" + encodeURIComponent($E("customerb").value) + "&from=company,name,email,phone"; }, callBack: function() { $E("customer_id").value = this.id; $G("customerb").valid().value = this.company.unentityify(); }, onChanged: function() { $E("customer_id").value = 0; $G("customerb").reset(); } } ); } กรกฎ วิริยะ type=1 ที่ส่งไปไงครับ จริงๆ ถ้าออกแบบแบบนี้ ส่วนอื่นๆจะเหมือนกันหมด (แค่หาทางส่ง type ไปให้ได้เมื่อมีการคลิกปุ่มเพิ่ม Customer) ถัดจากนี้ก็ไปดูที่ฟอร์ม modal รับค่า type มา ใส่ลงไปใน hidden ก็ได้ พอ submit ไปค่อยเอาไปใช้อีกที $type = $request->post('type)->toInt(); ญาณวัฒน์ ฉายเหมือนวงศ์ ขอบคุณครับ เสร็จแล้วครับ ใบ PO ค่าถูกกำหนดไว้ที่ View/Customer ครับ ความคิดเห็น รายละเอียด ไฟล์อัปโหลด ชนิด jpg, jpeg, png ขนาดไฟล์ไม่เกิน 2M ส่งความคิดเห็น
1. ใช้ datalist กับ input text https://github.com/.../views/form.php#L200
2. ใช้ Javascript แบบง่ายๆ https://github.com/...repair/script.js#L16
3. ใช้ Javascript อันนี้จะซับซ้อนหน่อย https://github.com/...ews/autocomplete.php
ลูกค้า กับ คู่ค่า ขอบคุณล่วงหน้าครับ
ถ้าจะแยก ก็ใส่ flag ครับ จริงๆก็ใช้เทคนิค php+javascript ทั่วไปนี่แหละ
ขอบคุณครับจะลองดูครับ php งูๆปลาๆ java ไม่ได้เลย html พอได้อยู่ครับ
autocomplete ก็ทำงานได้ทั้ง ฟอร์มแล้วครับ
เหลือแต่ ฟังชันเพื่มคู่ค้าหน้า ใบสั่งซื้อครับ
ลองดูคำสั่งแล้วเป็นคำสั่ง JS Modal
ก็เลยไปไม่ถูกเลยครับว่าจะแก้ ลิงค์ฟอร์มแบบไหน
ลิงค์ของเก่า
index.php/inventory/model/customer/submit
ลิงค์ของใหม่แก้เป็น
index.php/inventory/model/customerb/submit
ขอบคุณล่วงหน้าครับ
บรรทัดนี้คือคำสั่งที่ส่งค่าไปยัง modal ครับ อยากส่งอะไรเพิ่มก็แก้ไขเอา (ผมไม่รู้ว่าทำยังไงไว้) หรือไม่ก็แยกฟังก์ชั่นออกเป็น 2 อันเลย ส่งของใครของมัน ก็ทำได้ (จะแยกไปจนถึง Form เลยก็ได้ แค่ก๊อปมาแก้ไขเล็กๆน้อยๆ ตามที่วางแผนไว้) จริงๆก็ประยุกต์ใช้จากความรู้พื้นฐานนี่แหละครับ อย่าคิดเยอะ
ผมลองแก้หมดแล้วครับไม่ไม่ยอมเปลี่ยนก็เลยมึนไปไม่ถูก
เดียวจะลอง Debug หาดูใหม่ครับ
var addCustomerb = function() {
showModal("xhr.php", "class=Inventory\\Customerb\\Controller&method=showModal&typ=1&name=" + encodeURIComponent($E("customerb").value), function() {
$E("customerb").focus();
});
};
callClick("add_customerb", addCustomerb);
if ($E('customerb')) {
initAutoComplete(
"customerb",
WEB_URL + "index.php/inventory/model/autocomplete/findCustomerb",
"company,name,email,phone",
"customerb", {
get: function() {
return "name=" + encodeURIComponent($E("customerb").value) + "&from=company,name,email,phone";
},
callBack: function() {
$E("customer_id").value = this.id;
$G("customerb").valid().value = this.company.unentityify();
},
onChanged: function() {
$E("customer_id").value = 0;
$G("customerb").reset();
}
}
);
}
ถัดจากนี้ก็ไปดูที่ฟอร์ม modal รับค่า type มา ใส่ลงไปใน hidden ก็ได้ พอ submit ไปค่อยเอาไปใช้อีกที
$type = $request->post('type)->toInt();
ค่าถูกกำหนดไว้ที่ View/Customer ครับ