2012-01-19 30 views
111

Có cách nào (với cờ thuộc tính hoặc thứ gì đó tương tự) để bật các trường biểu mẫu bị vô hiệu hóa để gửi dữ liệu không?Trường biểu mẫu bị vô hiệu hóa không gửi dữ liệu

Hoặc, nếu điều đó là không thể, có cách nào để chặn các trường khỏi chỉnh sửa bằng css hoặc bất kỳ thuộc tính nào khác bị vô hiệu hóa mà không ẩn chúng?

Trường hợp đặc biệt của tôi vào lúc này là số nhận dạng cho tập dữ liệu sẽ được hiển thị dưới dạng (không thể chỉnh sửa) - nếu không có giải pháp nào tốt hơn, tôi nghĩ tôi sẽ sử dụng trường ẩn ngoài trường hợp bị tắt để giữ giá trị thực tế với giá trị bị vô hiệu hóa hiển thị nó.

+3

có thể trùng lặp của [dạng tàn tật đầu vào không xuất hiện trong yêu cầu] (http://stackoverflow.com/questions/73 57256/khuyết tật-form-input-do-not-xuất hiện-in-the-yêu cầu) –

Trả lời

175

Thanh toán thuộc tính readonly http://www.w3schools.com/tags/att_input_readonly.asp

+1

Tuyệt vời - Phải bỏ lỡ một khi thumbing thông qua các thuộc tính ... làm việc hoàn hảo, cảm ơn :) – bardiir

+1

Dead link? Ngoài ra còn có một [câu trả lời sâu hơn ở đây] (http://stackoverflow.com/a/7357314/2930477). – misterManSam

+5

Sự cố là thuộc tính chỉ sẵn sàng không thực sự chỉ đọc trong phần tử biểu mẫu chọn. Tôi vẫn có thể chọn một tùy chọn khác từ danh sách thả xuống với chỉ đọc, do đó đánh bại mục đích của nó. – Donato

45

Elements với Disabled thuộc tính không nộp hoặc bạn có thể nói giá trị của chúng không được đăng.

ví dụ:

<input type="textbox" name="Percentage" value="100" disabled="disabled" /> 

FYI,

  1. điều khiển bị tắt không nhận được tập trung.
  2. Điều khiển bị vô hiệu hóa bị bỏ qua trong điều hướng tab.
  3. Không thể đăng thành công các điều khiển bị vô hiệu hóa.

Bạn có thể sử dụng thuộc tính readonly trong trường hợp của mình, bằng cách thực hiện việc này, bạn sẽ có thể đăng dữ liệu của trường.

ví dụ:

<input type="textbox" name="Percentage" value="100" readonly="readonly" /> 

FYI,

  1. Read-only yếu tố nhận được tập trung nhưng không thể được sửa đổi bởi người sử dụng.
  2. Các phần tử chỉ đọc được bao gồm trong điều hướng tab.
  3. Các thành phần chỉ đọc được đăng thành công.

Lưu ý: READONLY không hoạt động trên hộp kiểm và chọn thẻ

Ref from

8

Vì nó đã được đề cập: READONLY không làm việc cho <input type='checkbox'><select>...</select>.

Nếu bạn có một Form với hộp kiểm tàn tật/lựa chọn và cần họ phải nộp, bạn có thể sử dụng jQuery:

$('form').submit(function(e) { 
    $(':disabled').each(function(e) { 
     $(this).removeAttr('disabled'); 
    }) 
}); 

Mã này loại bỏ các disabled thuộc tính từ tất cả các yếu tố trên nộp.

-1

nếu bạn muốn vô hiệu hóa lĩnh vực hoặc muốn gửi giá trị, bạn có thể thử này

<input type="hidden" name="Percentage" value="100" /> 
<input type="textbox" name="Percentage" value="100" disabled /> 
0

Sử dụng CSS con trỏ-sự kiện: none về lĩnh vực bạn muốn "vô hiệu hóa" (có thể là cùng với một nền màu xám) cho phép các hành động POST, như:

<input type="text" class="disable"> 

.disable{ 
pointer-events:none; 
background:grey; 
} 

Ref: https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events

Các vấn đề liên quan