POST ข้อมูลจาก Da-Table ไป Controller ได้แค่หน้าปัจจุบันหน้าเดียวใช่หรือไม่ ?

เชื่อว่าหลายๆ คน คงเคยเจอปัญหาเหมือน จขกท. เมื่อเราต้องทำ Form สำหรับให้เลือกหลายๆ Input เช่น มี Checkbox ให้เลือกชื่อคนทั้งวิทยาลัย

ข้อมูลคนมีเยอะเลยใช่มั้ยครับ? แต่ถ้าแสดงเป็นหน้าเดียวทั้งหมด ก็คงไม่สวยงามนัก

โปรแกรมเมอร์เรามีวิธีแก้ปัญหาอย่างไรกัน?

โปรแกรมเมอร์อินดี้ บอกว่า “ก็ให้ User คลิกบันทึกทีละหน้าเลย”
ผมถามไปว่า “ถ้าเลือกชื่อคนหน้าที่ 1 แล้วเผลอไปหน้า 2 หรือ 3 เลย จะรู้มั้ยว่ายังไม่บันทึกหน้าแรก ?”
โปรแกรมเมอร์อินดี้ ตอบว่า “ช่วยไม่ได้!!”
** ไปต่อไม่ถูกเลยใช่มั้ยครับ **

เอาเป็นว่า เรามีวิธีที่ดีกว่า

เพราะไหนๆ เราก็อยากจะใช้ Table แบบแบ่งหน้าแล้ว ก็ต้องทำให้มัน POST ค่าไปได้ทุกๆ หน้าพร้อมกันเลย

8

จากรูป เราจะส่งข้อมูลผ่าน Ajax

โดยบรรทัดที่ 4 เมื่อกดปุ่ม Submit จากฟอร์ม (id ชื่อว่า form_save) คำสั่งส่วนนี้จะทำงานทันที

ในบรรทัดที่ 5 คือ การอ่านข้อมูล Input ทั้งหมดจาก Table (หัวใจหลักคือตรงนี้ครับ)
บรรทัดที่ 7 – 15 คือ การส่งค่าแบบ POST ผ่าน Ajax ในรูปแบบทั่วๆ ไปครับ

แค่นี้เราก็สามารถ POST ข้อมูลจาก View ไป Controller ได้ทั้งหมดเลยครับ ><

Author : นายศักดา บุญภา (มิวสิค)