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

เมธอด .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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
เจอปัญหา ส่งเมลผิดพลาด : Language string failed to load: from_failed บน phpmailer
โดย mindphp ศ 19 มิ.ย. 2020 3:26 am บอร์ด Programming - PHP
2
1614
ศ 19 มิ.ย. 2020 5:47 pm โดย mindphp
กฎหมายที่ใช้ควบคุมโรค โควิด-19 ฝ่าฝืนได้รับโทษอย่างไรบ้าง?
โดย Decha Thaweeumanjvaroj พฤ 18 มิ.ย. 2020 10:17 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
107
พฤ 18 มิ.ย. 2020 10:17 am โดย Decha Thaweeumanjvaroj
ไม่สามารถ start openerp-server ของ openerp 7 ได้
โดย bolue พฤ 18 มิ.ย. 2020 10:09 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
10
180
ศ 19 มิ.ย. 2020 12:49 pm โดย bolue
ติดตั้ง ERP 7 ไม่ได้ค่ะ
โดย bolue พ 17 มิ.ย. 2020 4:01 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
12
169
ส 27 มิ.ย. 2020 12:47 am โดย mindphp
การ count ตาราง จากการรวมข้อมูล 2 ตารางเข้าด้วยกันด้วยคำสั่ง sql
โดย bolue อ 16 มิ.ย. 2020 5:01 pm บอร์ด SQL Knowledge
0
171
อ 16 มิ.ย. 2020 5:01 pm โดย bolue
การใส่ไวยากรณ์สำหรับความคิดเห็นใน php พื้นฐาน
โดย phennapa อ 16 มิ.ย. 2020 3:28 pm บอร์ด PHP Knowledge
0
50
อ 16 มิ.ย. 2020 3:28 pm โดย phennapa
ตัวแปร php พื้นฐาน
โดย phennapa อ 16 มิ.ย. 2020 1:45 pm บอร์ด PHP Knowledge
0
52
อ 16 มิ.ย. 2020 1:45 pm โดย phennapa
แนะนำ php พื้นฐาน
โดย phennapa อ 16 มิ.ย. 2020 12:37 pm บอร์ด PHP Knowledge
0
56
อ 16 มิ.ย. 2020 12:37 pm โดย phennapa
เริ่มต้นการเขียน PHP
โดย phennapa อ 16 มิ.ย. 2020 11:46 am บอร์ด PHP Knowledge
0
52
อ 16 มิ.ย. 2020 11:46 am โดย phennapa
การใช้ Style ตกแต่งเว็บเพจ ด้วยภาษา(CSS)ขั้นพื้นฐาน
โดย phennapa อ 16 มิ.ย. 2020 6:20 am บอร์ด CSS Knowledge
0
58
อ 16 มิ.ย. 2020 6:20 am โดย phennapa
การออกแบบหน้าlogin ขั้นพื้นฐาน php
โดย phennapa อ 16 มิ.ย. 2020 5:23 am บอร์ด PHP Knowledge
0
76
อ 16 มิ.ย. 2020 5:23 am โดย phennapa
Android - การออกแบบUI หน้าlogin พื้นฐาน
โดย phennapa จ 15 มิ.ย. 2020 6:39 pm บอร์ด Mobile Application Developing- Android, iOS
1
194
อ 16 มิ.ย. 2020 2:59 am โดย บุคคลทั่วไป
การจับ error ใน ฟังก์ชั่น ด้วยการใช้ current_app ใน python
โดย bolue จ 15 มิ.ย. 2020 6:18 pm บอร์ด Python Knowledge
0
45
จ 15 มิ.ย. 2020 6:18 pm โดย bolue
วิธีการเดินทางจาก อำเภอกันทรลักษ์ จังหวัดศรีสะเกษ มา กรุงเทพ.
โดย phennapa จ 15 มิ.ย. 2020 5:12 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
38
จ 15 มิ.ย. 2020 5:12 pm โดย phennapa
อยากทราบว่าใส่รูปยังไงคะในกระทู้ค่ะ
โดย phennapa จ 15 มิ.ย. 2020 4:49 pm บอร์ด MindPHP News & Feedback
1
65
จ 15 มิ.ย. 2020 5:01 pm โดย thatsawan
ไม่สามารถใช้ route methods get ได้ ใน flask_classful
โดย bolue จ 15 มิ.ย. 2020 1:08 pm บอร์ด Programming - C/C++ & java & Python
2
74
จ 15 มิ.ย. 2020 3:28 pm โดย bolue
สอบถามค่ะ บาง url ที่ดึงมา ใช้ไม่ได้ค่ะ
โดย bolue พฤ 11 มิ.ย. 2020 2:40 pm บอร์ด Programming - C/C++ & java & Python
7
181
จ 15 มิ.ย. 2020 8:52 am โดย bolue
การเรียกใช้ ฟังก์ชั่น ใน class เดียวกัน พร้อมส่งค่า โดย python
โดย bolue ส 13 มิ.ย. 2020 3:18 pm บอร์ด Python Knowledge
0
37
ส 13 มิ.ย. 2020 3:18 pm โดย bolue
เชื่อม กับ config แล้ว หน้าแรกรันได้ แต่พอรับ url เข้าไป กลับไม่ทำงาน
โดย bolue ส 13 มิ.ย. 2020 2:37 pm บอร์ด Programming - C/C++ & java & Python
8
101
ส 13 มิ.ย. 2020 6:54 pm โดย bolue
pagination flask ใช้ไม่ได้ แต่อีกไฟล์ใช้ได้ ทั้งที่วิธีเขียนเหมือนกัน
โดย bolue ศ 12 มิ.ย. 2020 11:48 pm บอร์ด Programming - C/C++ & java & Python
3
79
ส 13 มิ.ย. 2020 12:18 pm โดย mindphp