คอร์ส IT พื้นฐาน HTML 013_ฟอร์มและการป้อนข้อมูลจากผู้ใช้
ฟอร์ม
ฟอร์ม HTML (Form) เป็นส่วนที่สำคัญมากใน HTML ช่วยให้ผู้ใช้สามารถป้อนข้อมูลในหน้าเว็บและส่งข้อมูลไปยังเซิร์ฟเวอร์ได้
ตัวอย่าง:
<form action="/submit" method="post"> <!-- องค์ประกอบฟอร์มอยู่ที่นี่ --></form>องค์ประกอบ <form> กำหนดพื้นที่สำหรับการป้อนข้อมูลของผู้ใช้ และสามารถประกอบด้วยองค์ประกอบการป้อนข้อมูลประเภทต่างๆ เช่น พื้นที่ข้อความ <textarea>, รายการแบบเลื่อนลง <select>, ปุ่มตัวเลือก <radio>, กล่องกาเครื่องหมาย <checkbox> และปุ่ม <button> เป็นต้น
คุณสมบัติฟอร์ม:
action: กำหนด URL ของไฟล์ประมวลผลบนเซิร์ฟเวอร์หลังจากส่งข้อมูลฟอร์มmethod: กำหนดวิธี HTTP ที่ใช้ส่งข้อมูลไปยังเซิร์ฟเวอร์ ค่าที่ใช้บ่อยคือ “get” และ “post”name: ใช้สำหรับระบุชื่อของฟอร์ม ชื่อฟอร์มใช้เพื่อระบุฟอร์มและใช้ในการประมวลผลข้อมูลฟอร์มฝั่งเซิร์ฟเวอร์enctype: ใช้สำหรับระบุวิธีการเข้ารหัสข้อมูลฟอร์ม ข้อมูลฟอร์มสามารถใช้วิธีการเข้ารหัสapplication/x-www-form-urlencodedหรือmultipart/form-dataautocomplete: ใช้สำหรับระบุว่าจะเปิดใช้งานฟังก์ชันเติมข้อความอัตโนมัติของฟอร์มหรือไม่ หากตั้งค่าเป็นonเบราว์เซอร์จะเติมข้อมูลที่ป้อนไว้ก่อนหน้านี้โดยอัตโนมัติnovalidate: ใช้สำหรับระบุว่าจะตรวจสอบข้อมูลฟอร์มหรือไม่ หากตั้งค่าเป็นonข้อมูลฟอร์มจะไม่ถูกตรวจสอบก่อนส่ง
[!สรุป]
- ฟอร์ม form เองไม่สามารถมองเห็นได้
ฟิลด์ข้อความ
ในฟอร์ม เรามักต้องการให้ผู้ใช้ป้อนเนื้อหาข้อความเช่นตัวอักษร ตัวเลข ฯลฯ ซึ่งสามารถทำได้ผ่านองค์ประกอบ <input> โดยตั้งค่าคุณสมบัติ type เป็น “text”
ตัวอย่าง:
<form>ชื่อ: <input type="text" name="name"><br>อายุ: <input type="text" name="age"></form>ผลลัพธ์:

[!สรุป]
- ในเบราว์เซอร์ส่วนใหญ่ ความกว้างเริ่มต้นของฟิลด์ข้อความคือ 20 ตัวอักษร
ฟิลด์รหัสผ่าน
หากคุณต้องการให้ผู้ใช้ป้อนรหัสผ่าน คุณสามารถตั้งค่าคุณสมบัติ type ของ องค์ประกอบ <input> เป็น “password” และเนื้อหาที่ป้อนจะถูกซ่อนไว้
ตัวอย่าง:
<form>รหัสผ่าน: <input type="password" name="pwd"></form>ผลลัพธ์:

[!สรุป]
- ตัวอักษรในฟิลด์รหัสผ่านจะไม่แสดงเป็นข้อความธรรมดา แต่จะถูกแทนที่ด้วยเครื่องหมายดอกจัน * หรือจุด .
ปุ่มตัวเลือก (Radio Buttons)
ปุ่มตัวเลือกและกล่องกาเครื่องหมายช่วยให้ผู้ใช้สามารถเลือกหนึ่งหรือหลายตัวเลือกจากหลายตัวเลือกได้ ค่าคุณสมบัติ type ของปุ่มตัวเลือกคือ “radio”
ตัวอย่าง:
<form action="">เพศ:<input type="radio" name="sex" value="male" checked>ชาย<input type="radio" name="sex" value="female">หญิง</form>ผลลัพธ์:

[!สรุป]
- ค่าคุณสมบัติ
nameของปุ่มตัวเลือกต้องเหมือนกัน มิฉะนั้นจะไม่อยู่ในกลุ่มเดียวกัน- คุณสมบัติ
checkedใช้เพื่อระบุว่าปุ่มตัวเลือกถูกเลือกโดยค่าเริ่มต้นหรือไม่
กล่องกาเครื่องหมาย (Checkboxes)
กล่องกาเครื่องหมายสามารถเลือกหนึ่งหรือหลายตัวเลือกได้ โดยใช้ <input type="checkbox"> ในการกำหนด
ตัวอย่าง:
<form> แอปที่คุณเคยใช้: <input type="checkbox" name="app" value="jd">JD <input type="checkbox" name="app" value="wechat">WeChat <input type="checkbox" name="app" value="qq">QQ <input type="checkbox" name="app" value="douyin">Douyin</form>ผลลัพธ์:

[!สรุป]
- คุณสมบัติ
checkedใช้เพื่อระบุว่ากล่องกาเครื่องหมายถูกเลือกโดยค่าเริ่มต้นหรือไม่
รายการแบบเลื่อนลง (select)
รายการแบบเลื่อนลงช่วยให้ผู้ใช้สามารถเลือกหนึ่งตัวเลือกจากหลายตัวเลือกได้ สร้างโดยองค์ประกอบ <select> และใช้องค์ประกอบ <option> เพื่อกำหนดตัวเลือก
ตัวอย่าง:
<form action=""> โปรดเลือกประเทศของคุณ: <select name="country"> <option value="china">จีน</option> <option value="us">สหรัฐอเมริกา</option> <option value="japan">ญี่ปุ่น</option> </select></form>ผลลัพธ์:

[!สรุป]
- คุณสมบัติ
selectedใช้เพื่อระบุตัวเลือกเริ่มต้นของรายการแบบเลื่อนลง- คุณสมบัติ
disabledใช้เพื่อระบุว่ารายการแบบเลื่อนลงสามารถใช้งานได้หรือไม่- สามารถใช้คุณสมบัติ
sizeเพื่อระบุจำนวนตัวเลือกที่มองเห็นได้ในรายการแบบเลื่อนลง
ปุ่มส่ง (Submit, Reset, Button)
ฟอร์มมักต้องการปุ่มเพื่อส่งหรือยืนยันการป้อนข้อมูลของผู้ใช้ submit, reset และ button ล้วนเป็นองค์ประกอบปุ่มฟอร์มใน HTML
| ประเภท | คุณสมบัติ | ฟังก์ชัน | สถานการณ์การใช้งาน |
|---|---|---|---|
| submit | type="submit" | ส่งข้อมูลฟอร์ม | ส่งฟอร์มเข้าสู่ระบบ ส่งฟอร์มลงทะเบียน ฯลฯ |
| reset | type="reset" | รีเซ็ตข้อมูลฟอร์ม | รีเซ็ตฟอร์มค้นหา รีเซ็ตตะกร้าสินค้า ฯลฯ |
| button | type="button" | ไม่มี | มักใช้ร่วมกับ JavaScript เพื่อดำเนินการ นำทางไปยังหน้าเว็บ ฯลฯ |
| image | type="image" | ใช้รูปภาพเพื่อแสดงปุ่ม | ดำเนินการ นำทางไปยังหน้าเว็บ ฯลฯ |
ตัวอย่าง:
<form action="/submit" method="post"> <input type="submit" value="ปุ่มส่ง"> <input type="reset" value="ปุ่มรีเซ็ต"> <button type="button" value="ปุ่มยืนยัน">ปุ่มยืนยัน</button> <input type="image" src="[zhaojian-avatar.png (1332×1332)](https://www.zhaojian.net/images/zhaojian-avatar.png)" alt="ปุ่มรูปภาพ" width="50" height="50"></form>ผลลัพธ์:

[!สรุป]
- post: หมายถึงวิธี HTTP POST ข้อมูลฟอร์มจะรวมอยู่ในเนื้อหาฟอร์มแล้วส่งไปยังเซิร์ฟเวอร์ ใช้สำหรับส่งข้อมูลที่ละเอียดอ่อน เช่น ชื่อผู้ใช้และรหัสผ่าน
- get: ค่าเริ่มต้น หมายถึงวิธี HTTP GET ข้อมูลฟอร์มจะถูกต่อท้าย URL ของคุณสมบัติ action และใช้ ? เป็นตัวคั่น มักใช้สำหรับข้อมูลที่ไม่ละเอียดอ่อน เช่น การแบ่งหน้า ตัวอย่าง: https://www.zhaojian.net/?page=1 โดยที่ page=1 คือข้อมูลที่ส่งด้วยวิธี get
องค์ประกอบและคุณสมบัติของฟอร์ม
| องค์ประกอบ | ประเภท | คำอธิบาย | คุณสมบัติ |
|---|---|---|---|
form | ฟอร์ม | องค์ประกอบคอนเทนเนอร์ของฟอร์ม ระบุชื่อ วิธีการส่ง และที่อยู่การส่งของฟอร์ม | name, action, method, enctype, accept-charset, target, autocomplete, novalidate |
input | การป้อนข้อมูล | องค์ประกอบที่ใช้บ่อยที่สุดในฟอร์ม สามารถรับการป้อนข้อมูลจากผู้ใช้หลายประเภท เช่น ข้อความ ตัวเลข วันที่ ฯลฯ | type, name, value, placeholder, disabled, readonly, autocomplete, required, pattern, min, max, step |
textarea | การป้อนข้อมูล | ใช้สำหรับรับการป้อนข้อมูลหลายบรรทัดจากผู้ใช้ | name, cols, rows |
select | การเลือก | ใช้สำหรับรับการเลือกของผู้ใช้ สามารถมีหลายตัวเลือก | name, multiple, size |
option | การเลือก | ใช้ในองค์ประกอบ select กำหนดตัวเลือกที่สามารถเลือกได้ | value, selected |
radio | การเลือก | ใช้สำหรับรับการป้อนข้อมูลแบบเลือกเดียวจากผู้ใช้ สามารถมีหลายปุ่มตัวเลือก | name, value, checked |
checkbox | การเลือก | ใช้สำหรับรับการป้อนข้อมูลแบบเลือกหลายรายการจากผู้ใช้ สามารถมีหลายกล่องกาเครื่องหมาย | name, value, checked |
submit | ปุ่ม | ใช้สำหรับส่งฟอร์ม | value |
reset | ปุ่ม | ใช้สำหรับรีเซ็ตฟอร์ม | value |
button | ปุ่ม | ใช้สำหรับสร้างปุ่ม สามารถใช้เพื่อส่งฟอร์ม รีเซ็ตฟอร์ม หรือดำเนินการอื่นๆ | type, name, value |
label | ป้ายกำกับ | ใช้เพื่อให้ป้ายกำกับสำหรับองค์ประกอบการป้อนข้อมูล ป้ายกำกับช่วยให้ผู้ใช้เข้าใจวัตถุประสงค์ขององค์ประกอบการป้อนข้อมูล | for |
fieldset | การจัดกลุ่ม | ใช้สำหรับจัดกลุ่มองค์ประกอบฟอร์ม | name, legend |
legend | หัวข้อ | ใช้เพื่อให้หัวข้อสำหรับองค์ประกอบ fieldset | |
optgroup | การจัดกลุ่ม | ใช้สำหรับจัดกลุ่มตัวเลือก | label |