ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

เมธอด .serializeArray()  เพื่อรับข้อมูลจาก From 

การรับข้อมูลจาก form เราสามารถทำได้หลายวิธี จะส่งไปยัง backend หรือ ส่งไปฝั่งเซิฟเวอร์เลยก็ได้ เช่น เมื่อกรอกฟอร์มเสร็จแล้วส่งไปให้php รับค่าเลย  หรือจะใช้บางอย่างมาคั่นกลางก่อนส่งไป เพื่อทำตรวจสอบข้อมูลว่าถูกต้องหรือตามรูปแบบที่กำหนดหรือไม่  เราสามารถนำjQuery  ซึ่งเป็น JavaScript Library นี้มาใช้งานได้  บทความนี้จะทำตัวอย่างการรับค่าจาก form โดยใช้เมธอด .serializeArray() และแสดงผลเป็น Json หรือสใครจะเอาไปประยุกต์ต่อเพิ่มเติมก็ได้

เมธอด .serializeArray()  เป็นรูปแบบการสร้างชุดของ string ค่าตัวแปรในรูปแบบของ array เพื่อเหมาะสมต่อการส่งค่าตัวแปร และการนำไปใช้ 

ตัวอย่าง form 

<form>
  <div><input type="text" name="FN" value="John" id="FN"></div>
  <div><input type="text" name="LN" value="Minda" id="LN"></div>
  <div><input type="hidden" name="id" value="3" id="id"></div>
  <div>
    <textarea name="aboutme" rows="8" cols="40">I like apple</textarea>
  </div>
  <div><select name="gender">
    <option value="male" selected="selected">male</option>
    <option value="female">female</option>
  </select></div>
  <div>
    <input type="submit" name="submit" value="Submit">
  </div>
</form>

จาก form เราจะเห็นว่า มีกำหนด value เรียบร้อยแล้ว ซึ่ง value นี้คือเสมือนข้อมูลที่ผู้ใช้กรอกเข้ามาน่ะครับ

ต่อไปเราจะใช้  เมธอด .serializeArray()  เพื่อรับข้อมูลและ console.log ข้อมูลที่ได้รับมา โดยใช้โค้ดดังตัวอย่างนี้ 

$( "form" ).submit(function( event ) {
  console.log( $( this ).serializeArray() );
  event.preventDefault();
});

Method .serializeArray()   จะทำการเตรียมข้อมูลจากฟอร์มเพื่อใช้งานโดยจัดในรูปแบบ javascript array ของ object โดยแต่ละ object จะมีProperties  ชื่อ name
และ value

ผลลัพธ์ที่ได้มาผ่าน console ดังนี้ครับ

[
  {
    name: "FN",
    value: "John"
  },
  {
    name: "LN",
    value: "Minda"
  },
  {
    name: "ID",
    value: "3"
  },
  {
    name: "aboutme",
    value: "I like apple"
  },
  {
    name: "gender",
    value: "male"
  }
]

ในผลลัพธ์ เราเพียงแค่ใช้เมธอดนี้ครั้งเดียวสามารถรับข้อมูลจากฟอร์มได้ทุกฟิลต์ ไม่จำเป็นต้องรับทีละอย่างทีละครั้งและโค้ดที่ยาวยื่ด โดยการใช้ selecter  'form' ร่วมกับ เมธอด .serializeArray()  หวังว่าสามารถนำไปประยุกต์ต่อให้เข้ากับโปรเจ็คของเราน่ะครับ 

 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : Jquery

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ทำยังไง ให้ข้อความใน list box มองเห็นสระ อุ , อู ด้านล่าง
โดย bankjittapol พฤ 14 พ.ย. 2019 5:43 pm บอร์ด HTML CSS
0
4
พฤ 14 พ.ย. 2019 5:43 pm โดย bankjittapol
โปรแกรมหาพิกัดจากภาพ และแสดงบนแผนที่
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 3:39 pm บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
2
10
พฤ 14 พ.ย. 2019 5:28 pm โดย chaiyasitpraphut
EXIF คืออะไรจะดูค่า EXIF ได้อย่างไร
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 5:14 pm บอร์ด PHP Knowledge
0
4
พฤ 14 พ.ย. 2019 5:14 pm โดย chaiyasitpraphut
ทำอย่างไรให้ใน loop แสดงสินค้าไม่ซ้ำกัน
โดย Patipat อ 17 ก.ย. 2019 11:19 am บอร์ด Joomla Development
2
200
พฤ 14 พ.ย. 2019 5:14 pm โดย Losa
แนะนำฟังก์ชั่นระบบ Webboard Mindphp.com ใหม่ (phpbb v.3.2)
โดย numtan5839 พฤ 14 พ.ย. 2019 5:06 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
2
6
พฤ 14 พ.ย. 2019 5:13 pm โดย thatsawan
OpenStreetMap คืออะไร
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 4:51 pm บอร์ด PHP Knowledge
0
2
พฤ 14 พ.ย. 2019 4:51 pm โดย chaiyasitpraphut
Data Flow Diagram คืออะไร
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 4:29 pm บอร์ด SQL Knowledge
0
4
พฤ 14 พ.ย. 2019 4:29 pm โดย chaiyasitpraphut
Sonoff คืออะไร
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 4:07 pm บอร์ด IOT - Internet of things
0
5
พฤ 14 พ.ย. 2019 4:07 pm โดย chaiyasitpraphut
ขั้นตอนการสมัคร NETPIE
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 3:56 pm บอร์ด IOT - Internet of things
0
3
พฤ 14 พ.ย. 2019 3:56 pm โดย chaiyasitpraphut
ภาพประกอบ Tools
โดย numtan5839 ศ 08 พ.ย. 2019 1:58 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
9
65
พฤ 14 พ.ย. 2019 3:51 pm โดย numtan5839
Collapsible Forum Categories : สำหรับย่อ - ขยาย หมวดหมู่ฟอรั่ม
โดย thatsawan ส 09 พฤษภาคม 2015 1:38 pm บอร์ด phpBB 3.1 Extension Review
1
828
พฤ 14 พ.ย. 2019 3:37 pm โดย thatsawan
ทำไม่พอขึ้นบรรทัดใหม่แล้วตัวอัษรถึงซ้อนกันครับ
โดย jamepiyawat พฤ 14 พ.ย. 2019 2:19 pm บอร์ด HTML CSS
2
16
พฤ 14 พ.ย. 2019 2:31 pm โดย jamepiyawat
งานประจำวันที่ 14 พฤศจิกายน 2562
โดย numtan5839 พฤ 14 พ.ย. 2019 11:05 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
1
15
พฤ 14 พ.ย. 2019 2:04 pm โดย numtan5839
Work's on Hand ชัยยะสิทธิ์ พระพุทธ MT35
โดย chaiyasitpraphut จ 11 พ.ย. 2019 10:46 am บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
1
17
พฤ 14 พ.ย. 2019 1:39 pm โดย chaiyasitpraphut
ทฤษฎีสี 60-30-10
โดย numtan5839 พฤ 14 พ.ย. 2019 12:30 pm บอร์ด Graphic design
0
5
พฤ 14 พ.ย. 2019 12:30 pm โดย numtan5839
งานประจำวันที่ 14 พฤศจิกายน 2562
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 10:15 am บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
3
15
พฤ 14 พ.ย. 2019 12:03 pm โดย jamepiyawat
คำนวณการรับส่งข้อมูลผ่านอินเทอร์เน็ต
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 11:29 am บอร์ด MindPHP News / Feedback
0
6
พฤ 14 พ.ย. 2019 11:29 am โดย chaiyasitpraphut
แก้ไวรัสซ่อนไฟล์ง่ายๆ ด้วย CMD
โดย teenproza7 พ 15 พฤษภาคม 2019 5:37 pm บอร์ด Share Knowledge
1
148
พฤ 14 พ.ย. 2019 11:27 am โดย LEG
ตรวจสอบอายุการใช้งานของ โดเมน
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 11:05 am บอร์ด MindPHP News / Feedback
0
5
พฤ 14 พ.ย. 2019 11:05 am โดย chaiyasitpraphut
สร้างไฟล์ PDF โดยไม่ต้องลงโปรแกรม
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 10:43 am บอร์ด MindPHP News / Feedback
0
7
พฤ 14 พ.ย. 2019 10:43 am โดย chaiyasitpraphut