ฟอร์ม jQuery Mobile
- หน้าก่อน เนื้อหารายการ jQuery Mobile
- หน้าต่อไป แบบฟอร์มรูปบันทึก jQuery Mobile
jQuery Mobile จะเพิ่มรูปแบบที่ง่ายต่อการสัมผัสและดูดูดใจให้กับฟอร์ม HTML โดยอัตโนมัติ
โครงสร้างฟอร์ม jQuery Mobile
jQuery Mobile ใช้ CSS ในการตั้งรูปแบบองค์ประกอบฟอร์ม HTML ให้ดูดูดใจและง่ายต่อการใช้งาน
ใน jQuery Mobile คุณสามารถใช้ความเป็นไปได้ตัวควบคุมฟอร์มต่อไปนี้:
- ตัวกรองข้อความ
- ตัวกรองค้นหา
- ตัวเลือกเดียว
- ตัวเลือกหลายเลือก
- เมนูเลือก
- สเกลความยาว
- ปุ่มเปิด/ปิดตัวทันที
เมื่อคุณต้องการจัดการฟอร์มของ jQuery Mobile คุณควรทราบข้อมูลต่อไปนี้:
- ต้องตั้งค่าคุณสมบัติ method และ action ขององค์ประกอบ <form>
- แต่ละองค์ประกอบฟอร์มต้องถูกตั้งค่าคุณสมบัติ "id" ที่เป็นเดียวเดียว คุณสมบัตินี้ควรเป็นเดียวเดียวในหน้าเว็บไซต์ของท่าน เพราะโมเดลการนำเสนอหน้าเว็บที่เดียวของ jQuery Mobile อนุญาตให้หลาย "หน้า" แสดงพร้อมกัน
- แต่ละองค์ประกอบฟอร์มจะต้องมีการประทับ (label) หนึ่ง โปรดตั้งรายละเอียด for ของ label ให้ตรงกับ id ขององค์ประกอบ
ตัวอย่าง
<formmethod="post"
action="demoform.asp"
> <label for="fname">First name:</label> <input type="text" name="fname" id="fname"> </form>
ถ้าต้องการซ่อน label ใช้รายละเอียด class="ui-hidden-accessible" นี่เป็นที่นิยม เมื่อคุณต้องการให้ placeholder ขององค์ประกอบทำหน้าที่เป็น label:
ตัวอย่าง
<form method="post" action="demoform.asp">
<label for="fname" class="ui-hidden-accessible"
>ชื่อ:</label>
<input type="text" name="fname" id="fname" placeholder="ชื่อ...">
</form>
จุดกลางโดยสาย
ถ้าต้องการให้ label และองค์ประกอบฟอร์มแสดงในหน้าจอกว้างโดยปกติ ใช้ <div> หรือ <fieldset> ที่มีรายละเอียด data-role="fieldcontain" มาล้อมรายละเอียดหรือองค์ประกอบฟอร์ม:
ตัวอย่าง
<form method="post" action="demoform.asp"><div data-role="fieldcontain">
<label for="fname">First name:</label> <input type="text" name="fname" id="fname"> <label for="lname">Last name:</label> <input type="text" name="lname" id="lname"></div>
</form>
คำแนะนำ:รายละเอียด fieldcontain จะตั้งรูปแบบ label และองค์ประกอบฟอร์มตามความกว้างของหน้าเว็บ。เมื่อความกว้างของหน้าเว็บมากกว่า 480px มันจะทำให้ label และองค์ประกอบฟอร์มตั้งอยู่ในแถวเดียวกันอัตโนมัติ ถ้ามีความกว้างต่ำกว่า 480px มันจะทำให้ label ตั้งอยู่ด้านบนขององค์ประกอบฟอร์ม
คำแนะนำ:ถ้าต้องการป้องกันให้ jQuery Mobile ตั้งรูปแบบอัตโนมัติสำหรับองค์ประกอบที่สามารถคลิกได้ ใช้รายละเอียด data-role="none" รวมถึงนี้:
ตัวอย่าง
<label for="fname">First name:</label>
<input type="text" name="fname" id="fname"} data-role="none"
>
การส่งข้อมูลฟอร์มด้วย jQuery Mobile
คำแนะนำ:jQuery Mobile จะส่งข้อมูลฟอร์มผ่าน AJAX และจะพยายามที่จะใส่คำตอบของเซิร์ฟเวอร์เข้าไปใน DOM ของโปรแกรม
- หน้าก่อน เนื้อหารายการ jQuery Mobile
- หน้าต่อไป แบบฟอร์มรูปบันทึก jQuery Mobile