Gửi giá trị của trường nhập bị vô hiệu hóa


101

Tôi muốn tắt một trường đầu vào, nhưng khi tôi gửi biểu mẫu, nó vẫn phải chuyển giá trị.

Trường hợp sử dụng: Tôi đang cố lấy vĩ độ và kinh độ từ Google Maps và muốn hiển thị nó, nhưng tôi không muốn người dùng chỉnh sửa nó.

Điều này có khả thi không?


Câu trả lời:


238

Tôi muốn vô hiệu hóa Trường nhập trên biểu mẫu và khi tôi gửi biểu mẫu, các giá trị từ biểu mẫu đã tắt sẽ không được gửi .

Trường hợp sử dụng: tôi đang cố lấy Lat Lng từ Google Map và muốn Hiển thị nó .. nhưng không muốn người dùng chỉnh sửa nó .

Bạn có thể sử dụng thuộc readonlytính trong trường đầu vào của mình

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

2
Lưu ý rằng đầu vào vẫn có thể nhận được tiêu điểm. Xem: stackoverflow.com/questions/5443952/…
Rafael Oliveira

5
Câu trả lời tuyệt vời 8 năm sau. Chỉ muốn nói thêm rằng để làm cho văn bản xuất hiện un thể chỉnh sửa tôi thêm các css:input:read-only { color:grey; }
UltrasoundJelly

21

Tôi biết điều này là cũ nhưng tôi chỉ gặp vấn đề này và không có câu trả lời nào phù hợp. giải pháp của nickf hoạt động nhưng nó yêu cầu javascript. Cách tốt nhất là vô hiệu hóa trường mà vẫn truyền giá trị là sử dụng trường nhập ẩn để chuyển giá trị vào biểu mẫu. Ví dụ,

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

Bằng cách này, giá trị được chuyển nhưng người dùng thấy trường chuyển sang màu xám. Thuộc tính chỉ đọc không làm cho nó xám đi.


1
Bạn có thể thêm CSS trên các hộp văn bản bị vô hiệu hóa để làm xám chúng.
krillgar

valuecần thiết trong đầu vào bị vô hiệu hóa không?
Ömer An

10

bạn cũng có thể sử dụng thuộc tính Readonly: đầu vào sẽ không bị chuyển sang màu xám nhưng sẽ không thể chỉnh sửa được

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

2

Các phần tử đầu vào có một thuộc tính được gọi disabled. Khi biểu mẫu gửi đi, chỉ cần chạy một số mã như sau:

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

5
Giải quyết câu hỏi ban đầu, để chuyển giá trị trong quá trình gửi biểu mẫu, thuộc tính "bị vô hiệu hóa" phải là "false" thay vì "true".
Daniel Vukasovich
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.