Đây là những gì tôi tìm thấy bởi Fireorms trong Firefox.
Nó có giống nhau trong các trình duyệt khác không?
Nếu vậy, lý do cho việc này là gì?
Đây là những gì tôi tìm thấy bởi Fireorms trong Firefox.
Nó có giống nhau trong các trình duyệt khác không?
Nếu vậy, lý do cho việc này là gì?
Câu trả lời:
Có, tất cả các trình duyệt không nên gửi các đầu vào bị vô hiệu hóa, vì chúng chỉ đọc.
Thêm thông tin (phần 17.12.1)
Định nghĩa thuộc tính
bị vô hiệu hóa [CI] Khi được đặt cho điều khiển biểu mẫu, thuộc tính Boolean này sẽ vô hiệu hóa điều khiển cho đầu vào của người dùng. Khi được đặt, thuộc tính bị vô hiệu hóa có các hiệu ứng sau trên một phần tử:
- Điều khiển bị vô hiệu hóa không nhận được trọng tâm.
- Điều khiển bị vô hiệu hóa được bỏ qua trong điều hướng tab.
- Điều khiển bị vô hiệu hóa không thể thành công.
Các yếu tố sau đây hỗ trợ thuộc tính bị vô hiệu hóa: BUTTON, INPUT, OPTGROUP, OPTION, SELECT và TEXTAREA.
Thuộc tính này được kế thừa nhưng khai báo cục bộ ghi đè giá trị được kế thừa.
Làm thế nào các yếu tố bị vô hiệu hóa được hiển thị phụ thuộc vào tác nhân người dùng. Ví dụ: một số tác nhân người dùng "tắt" các mục menu bị tắt, nhãn nút, v.v.
Trong ví dụ này, phần tử INPUT bị tắt. Do đó, nó không thể nhận đầu vào của người dùng cũng như giá trị của nó sẽ không được gửi cùng với biểu mẫu.
<INPUT disabled name="fred" value="stone">
Ghi chú. Cách duy nhất để sửa đổi linh hoạt giá trị của thuộc tính bị vô hiệu hóa là thông qua một tập lệnh.
<input type="hidden">
phần tử có cùng tên / giá trị với đầu vào bị vô hiệu hóa.
disabled
đầu vào sẽ không gửi dữ liệu.
Sử dụng readonly
thuộc tính:
<input type="text" readonly />
readonly
hoạt động, chỉ cần đảm bảo bạn chuyển "tên" attr cho đầu vào.
Bạn có thể sử dụng ba thứ để bắt chước bị vô hiệu hóa:
HTML: readonly
thuộc tính (để có thể sử dụng giá trị trong đầu vào khi gửi biểu mẫu. Ngoài ra, người dùng không thể thay đổi giá trị đầu vào)
CSS: 'pointer-events':'none'
(chặn người dùng nhấp vào đầu vào)
HTML: tabindex="-1"
(chặn người dùng điều hướng đến đầu vào từ bàn phím)
Họ không được gửi, vì đó là những gì nó nói trong đặc tả W3C .
17.13.2 Kiểm soát thành công
Một kiểm soát thành công là "hợp lệ" để nộp. [bắn tỉa]
- Kiểm soát bị vô hiệu hóa không thể thành công.
Nói cách khác, đặc tả nói rằng các điều khiển bị vô hiệu hóa được coi là không hợp lệ và không nên gửi.
Disabled
điều khiển không thể thành công và điều khiển thành công là "hợp lệ" để gửi. Đây là lý do tại sao các điều khiển bị vô hiệu hóa không gửi cùng với biểu mẫu.
Có hai thuộc tính, cụ thể readonly
và disabled
, có thể tạo đầu vào chỉ đọc nửa đọc. Nhưng có một sự khác biệt nhỏ giữa chúng.
<input type="text" readonly />
<input type="text" disabled />
readonly
thuộc tính làm cho văn bản đầu vào của bạn khuyết tật, và người dùng không thể thay đổi được nữa.disabled
Thuộc tính không chỉ làm cho văn bản đầu vào của bạn bị vô hiệu hóa (không thể thay đổi) mà còn không thể gửi nó .Cách tiếp cận jQuery (1):
$("#inputID").prop("readonly", true);
$("#inputID").prop("disabled", true);
Cách tiếp cận jQuery (2):
$("#inputID").attr("readonly","readonly");
$("#inputID").attr("disabled", "disabled");
Cách tiếp cận JavaScript:
document.getElementById("inputID").readOnly = true;
document.getElementById("inputID").disabled = true;
PS disabled
và readonly
là các thuộc tính html tiêu chuẩn. prop
giới thiệu với jQuery 1.6
.
điều khiển chọn vẫn có thể nhấp được ngay cả trên attribly chỉ
nếu bạn muốn vô hiệu hóa điều khiển nhưng bạn muốn giá trị của nó được đăng. Bạn có thể xem xét việc tạo một trường ẩn. với giá trị tương tự như sự kiểm soát của bạn.
sau đó tạo một jquery, trên chọn thay đổi
$('#your_select_id').change(function () {
$('#your_hidden_selectid').val($('#your_select_id').val());
});