การส่งค่าของฟิลด์อินพุตที่ปิดใช้งาน


102

ฉันต้องการปิดใช้งานช่องป้อนข้อมูล แต่เมื่อฉันส่งแบบฟอร์มก็ยังควรส่งค่า

กรณีการใช้งาน: ฉันกำลังพยายามหาละติจูดและลองจิจูดจาก Google Maps และต้องการแสดง แต่ฉันไม่ต้องการให้ผู้ใช้แก้ไข

เป็นไปได้หรือไม่


คำตอบ:


240

ฉันต้องการที่จะปิดการใช้งานฟิลด์ป้อนข้อมูลในแบบฟอร์มและเมื่อฉันส่งแบบฟอร์มค่าจากรูปแบบที่คนพิการไม่ได้ส่ง

การใช้งาน: ฉันพยายามที่จะได้รับเขต Lng จาก Google แผนที่และต้องการที่จะแสดงมัน .. แต่ไม่ต้องการให้ผู้ใช้แก้ไขมัน

คุณสามารถใช้readonlyคุณสมบัติในช่องป้อนข้อมูลของคุณ

<input type="text" readonly="readonly" />

2
โปรดทราบว่าอินพุตจะยังคงสามารถรับโฟกัสได้ ดู: stackoverflow.com/questions/5443952/…
Rafael Oliveira

5
คำตอบที่ดีใน 8 ปีต่อมา แค่ต้องการเพิ่มสิ่งนั้นเพื่อให้ข้อความไม่สามารถแก้ไขได้ฉันเพิ่ม css:input:read-only { color:grey; }
UltrasoundJelly

21

ฉันรู้ว่านี่เก่า แต่ฉันเพิ่งเจอปัญหานี้และไม่มีคำตอบใดที่เหมาะสม วิธีแก้ปัญหาของ nickf ใช้งานได้ แต่ต้องใช้จาวาสคริปต์ วิธีที่ดีที่สุดคือปิดการใช้งานฟิลด์และยังคงส่งผ่านค่าคือการใช้ฟิลด์อินพุตที่ซ่อนอยู่เพื่อส่งผ่านค่าไปยังฟอร์ม ตัวอย่างเช่น,

<input type="text" value="22.2222" disabled="disabled" />
<input type="hidden" name="lat" value="22.2222" />

ด้วยวิธีนี้ค่าจะถูกส่งผ่านไป แต่ผู้ใช้จะเห็นฟิลด์ออกเป็นสีเทา แอตทริบิวต์แบบอ่านอย่างเดียวจะไม่เป็นสีเทา


1
คุณสามารถเพิ่ม CSS ในกล่องข้อความที่ปิดใช้งานเพื่อให้เป็นสีเทา
krillgar

เป็นvalueสิ่งที่จำเป็นในการป้อนข้อมูลคนพิการ?
Ömer

10

คุณยังสามารถใช้แอตทริบิวต์แบบอ่านอย่างเดียว: อินพุตจะไม่เป็นสีเทา แต่จะไม่สามารถแก้ไขได้

<input type="text" name="lat" value="22.2222" readonly="readonly" />

2

disabledองค์ประกอบการป้อนข้อมูลมีคุณสมบัติที่เรียกว่า เมื่อส่งแบบฟอร์มให้เรียกใช้โค้ดดังนี้:

var myInput = document.getElementById('myInput');
myInput.disabled = true;

5
ตอบคำถามเดิมเพื่อส่งผ่านค่าระหว่างการส่งแบบฟอร์มคุณสมบัติ "ปิดใช้งาน" ควรเป็น "เท็จ" แทนที่จะเป็น "จริง"
Daniel Vukasovich
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.