บทที่ 16 HTML Forms   
  HTML Forms คือการสร้างฟอร์มใน html โดยฟอร์มที่ได้จะถูกใช้ในการส่งข้อมูลไปยังเซิฟเวอร์ แท็กที่ใช้ในการสร้างฟอร์มคือ แท็ก <form>
  ฟอร์มประกอบด้วยแท็ก input เช่น กรอบข้อความ (text fields), กล่องแบบเลือก (checkboxes),ปุ่มต่าง ๆ เป็นต้น โดยเราสามารถใส่รายการ, กรอบข้อความ(textarea), ฟิล์ดเซท (fieldset), เลเจนด์(legend) และแท็ก label  ซึ่งเราจะใช้แท็ก input ใช้ในการเก็บข้อมูลจากผู้ใช้งาน โดย แท็ก input สามารถสร้างได้หลายแบบ ขึ้นอยู่กับแอตทริบิวต์ type ดังนั้นแท็ก input สามารถเป็นกรอบข้อความ, กล่องตัวเลือก, กล่องรหัสผ่าน, ปุ่มส่งข้อมูล และ อื่น ๆ ซึ่งแท็ก input ที่ใช้บ่อย ๆ จะอธิบายต่อไป 
   1. กรอบข้อความ (Text fields)
    แท็ก input และแอตทริบิวต์ type="text" จะกำหนดการป้อนข้อความ 1 บรรทัด
ตัวอย่าง

<html>
<body>

<form>
ชื่อ: <input type="text" name="firstname"><br>
นามสกุล: <input type="text" name="lastname">
</form> 

</body>
</html>

ผลลัพธ์ที่ได้คือ

***แท็ก form จะไม่แสดงในเว็บเบราว์เซอร์ และขนาดของกรอบข้อความเริ่มต้นจะมีขนาด 20 ตัวอักษร
  
   2. กรอบรหัสผ่าน (Password fields)
   แท็ก input และแอตทริบิวต์ type="password" จะกำหนดการป้อนรหัสผ่าน
ตัวอย่าง

<html>
<body>

<form>
รหัสผ่าน: <input type="password" name="pwd">
</form> 

</body>
</html>

ผลลัพธืที่ได้คือ

***ตัวอักษรในกรอบรหัสผ่านจะแสดงเป็นดาวหรือจุด

   3. กล่องเลือกทางเดียว (Radio Buttons)
   แท็ก input และแอตทริบิวต์ type="radio" จะกำหนดกล่องเลือกแบบทางเดียว ซึ่งจะกำหนดให้ผู้ใช้งานสามารถได้เพียงตัวเลือกเดียวจากชุดของตัวเลือกทั้งหมด
ตัวอย่าง

<html>
<body>

<form>
<input type="radio" name="like" value="like">ชอบ<br>
<input type="radio" name="like" value="don'tlike">ไม่ชอบ
</form> 

</body>
</html>

ผลลัพธ์คือ

***จะเห็นว่าแอตทริบิวต์ name เป็นชื่อเดียวกัน เป็นการกำหนดให้กล่องเลือกแบบทางเดียวทั้งสองอันเป็นกล่องชุดเดียวกัน ดังนั้น ถ้ากำหนดแอตทริบิวต์ name แตกต่างกัน จะทำให้สามารถเลือกได้ทั้งสองอัน

   4. กล่องเลือกแบบหลายทาง (Check boxes)
   แท็ก input และแอตทริบิวต์ type="checkbox" จะกำหนดกล่องเลือกแบบหลายทาง ซึ่งผู้ใช้งานสามารถเลือกตัวเลือกได้มากกว่าหนึ่งตัวเลือกจากตัวเลือกทั้งหมด
ตัวอย่าง

<html>
<body>

<form>
<input type="checkbox" name="language" value="japanese">พูดภาษาญี่ปุ่นได้<br>
<input type="checkbox" name="language" value="english">พูดภาษาอังกฤษได้
</form> 

</body>
</html>

ผลลัพธ์ที่ได้คือ


   5. ปุ่มส่งข้อมูล (Submit Button)
   แท็ก input และแอตทริบิวต์ type="submit" จะกำหนดปุ่นสำหรับส่งข้อมูลไปยังเซิฟเวอร์ โดยข้อมูลจะส่งไปยังไฟล์ที่กำหนดในแอตทริบิวต์ action และไฟล์ที่ทำการรับข้อมูลจากฟอร์มนี้ จะทำบางสิ่งบางอย่างกับข้อมูลที่รับเข้าไป โดยมีวิธีการส่ง 2 แบบด้วยกัน (ผ่านแอตทริบิวต์ method)
    >>get - จะส่งข้อมูลเป็นข้อความต่อท้ายชื่อไฟล์ ซึ่งจะเห็นใน url ของเว็บเบราว์เซอร์
    >>post - จะส่งข้อมูลแบบซ่อนผ่านทางเบราว์เซอร์ซึ่งมีความปลอดภัยมากกว่า

<html>
<body>

<form name="login" action="login.php" method="post">

ชื่อ :<input type="text" name="username"/>
รหัสผ่าน :<input type="passwordt" name="pwd"/>
<input type="submit" value="เข้าระบบ"/>

</form>  

</body>
</html>

ผลลัพธ์ที่ได้คือ

Tag ที่เกี่ยวข้อง

<form> กำหนดฟอร์มเพื่อส่งข้อมูลไปยังเซิร์ฟเวอร์
<input/> กำหนดการป้อนข้อมูล
<textarea> กำหนดการป้อนข้อความแบบหลายบรรทัด
<label> กำหนดป้ายชื่อแท็ก input
<fieldset> กำหนดขอบเขตของการป้อนข้อมูล
<legend> กำหนดป้ายชื่อสำหรับขอบเขตของการป้อนข้อมูล(fieldset)
<select> กำหนดรายการที่ให้เลือก(แบบ Drop-down)
<optgroup> กำหนดกลุ่มของตัวเลือก(options) ที่เกี่ยวข้องในรายการที่ให้เลือก
<option> กำหนดตัวเลือกสำหรับรายการที่ให้เลือก
<button> กำหนดปุ่มกด

 นอกจากสร้างฟอร์ม POST ด้วย HTML แล้วเรายังสามารถใช้ Javascript ในการ POST ค่าจะฟอร์มไปที่ ฝั่ง Server ได้ Post Form ด้วย javascript เพื่อส่งข้อมูลให้ FastAPI

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ทำไมcode php ไม่ทำงานครับหลังอัพเข้า win 2003
โดย Anonymous พฤ 07 ต.ค. 2010 9:45 pm บอร์ด Programming - PHP
13
3008
พ 05 เม.ย. 2023 2:31 pm โดย บุคคลทั่วไป View Topic ทำไมcode php ไม่ทำงานครับหลังอัพเข้า win 2003
มี รหัสผ่าน nod32 ใครต้องการ pm มาครับ update nod32 v4
โดย imsn พฤ 07 ต.ค. 2010 12:41 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
3926
อ 02 พ.ย. 2010 1:22 pm โดย imsn View Topic มี รหัสผ่าน nod32 ใครต้องการ pm มาครับ 	update nod32 v4
ไม่มีใครช่วยได้เลยหรือครับปัญหาเรื่องแบบฟอร์ม Chrono Form
โดย editmaster88 พ 06 ต.ค. 2010 3:02 pm บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
1509
พ 06 ต.ค. 2010 3:16 pm โดย mindphp View Topic ไม่มีใครช่วยได้เลยหรือครับปัญหาเรื่องแบบฟอร์ม Chrono Form
รับโปรแกรมเมอร์ PHP
โดย cabf656 พ 06 ต.ค. 2010 11:53 am บอร์ด MindPHP News & Feedback
2
1854
พฤ 09 ธ.ค. 2010 11:04 am โดย phajvaj View Topic รับโปรแกรมเมอร์ PHP
ถามเรื่อง การ post ค่า ค่ะ
โดย odamayuko พ 06 ต.ค. 2010 10:37 am บอร์ด Programming - PHP
4
1116
พ 06 ต.ค. 2010 6:26 pm โดย mindphp View Topic ถามเรื่อง การ post ค่า ค่ะ
ขอความช่วยเหลือคับ ฝากพี่ๆช่วยดูตัวอย่างโค๊ดการเขียนระบบสมาชิกด้วยครับคับ
โดย Anonymous พ 06 ต.ค. 2010 9:35 am บอร์ด Programming - PHP
5
2363
พ 06 ต.ค. 2010 10:57 am โดย mindphp View Topic ขอความช่วยเหลือคับ ฝากพี่ๆช่วยดูตัวอย่างโค๊ดการเขียนระบบสมาชิกด้วยครับคับ
NOD32 Update 5506 มีรายละเีอียดตามนี้
โดย imsn พ 06 ต.ค. 2010 2:52 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
1346
พ 06 ต.ค. 2010 2:52 am โดย imsn View Topic NOD32 Update 5506 มีรายละเีอียดตามนี้
การแก้ไขข้อมูลของ Radio คือสร้างฟอร์มกรอกข้อมูลมี
โดย Anonymous พ 06 ต.ค. 2010 12:35 am บอร์ด Programming - PHP
1
1759
พ 06 ต.ค. 2010 10:27 am โดย mindphp View Topic การแก้ไขข้อมูลของ Radio คือสร้างฟอร์มกรอกข้อมูลมี