Tôi có một ứng dụng web sử dụng thường xuyên thuộc tính HTML5 required
. Tuy nhiên Safari và tức là 8/9 không hỗ trợ thuộc tính này. Có một plugin jQuery sẽ buộc hành vi trên các trình duyệt không tương thích không?html5 thuộc tính bắt buộc trên các trình duyệt không được hỗ trợ
Trả lời
Tìm thấy một động cơ rất linh hoạt và nhẹ (một lần minified) mà làm việc qua trình duyệt bao gồm IE8!
Bạn có thể sử dụng h5validate làm chính xác những gì bạn cần.
<script>
$(document).ready(function() {
$('form').h5Validate();
});
</script>
Bạn có thể Shim nó chỉ đơn giản ...
if ($("<input />").prop("required") === undefined) {
$(document).on("submit", function(event) {
$(this)
.find("input, select, textarea")
.filter("[required]")
.filter(function() { return this.value; })
.each(function() {
// Handle them.
});
});
}
Mã của bạn thực sự chứa một lỗi, như '.filter (function() {return this.value;})' sẽ không chỉ bao gồm các trường biểu mẫu rỗng nhưng loại trừ tất cả các trường biểu mẫu trống, để bạn kết thúc với tất cả các trường được yêu cầu và có nội dung, thay vì tất cả các trường biểu mẫu bắt buộc thiếu nội dung. –
@ S.B. Bạn đúng. Nếu đó là chống lại mục tiêu của bạn, bỏ qua dòng đó. – alex
@alex Bạn không thể bỏ qua dòng đó và sau đó giải quyết vấn đề. Nó sẽ xử lý mọi trường "bắt buộc", thậm chí nó không trống. –
Tôi đã viết một plugin jQuery rất đơn giản cho việc này. Nó chỉ thêm xác nhận hợp lệ phía máy khách vào một biểu mẫu bằng cách sử dụng thuộc tính 'required'.
https://github.com/garyv/jQuery-Validation-plugin
Sau bao gồm các plugin, bạn có thể gọi thức validate() trong chức năng sẵn sàng tài liệu của jQuery hoặc ở phần cuối của phần nội dung html.
<script>
$(document).ready(function(){
$('form').validate();
});
</script>
khi bạn nói 2. Gọi $ ('form'). Validate(); làm thế nào để làm điều đó? chỉ cần thêm $ ('form'). validate(); ' bên trong trang? Tôi đã thử plugin của bạn nhưng tôi không thể làm cho nó hoạt động – Baig
Tôi đã cập nhật nhận xét bằng một ví dụ. Đoán của tôi là bạn đang cố gắng gọi validate() trước khi bao gồm plugin hoặc trước phần tử
Không hoạt động trong IE8, điểm của việc sử dụng này là gì? IE9 trở lên hỗ trợ xác thực HTML5. – Piero
này hoạt động mà không cần bất kỳ plugin (chỉ JQuery):
<script>
// fix for IE < 11
if ($("<input />").prop("required") === undefined) {
$(document).on("submit", function(e) {
$(this)
.find("input, select, textarea")
.filter("[required]")
.filter(function() { return this.value == ''; })
.each(function() {
e.preventDefault();
$(this).css({ "border-color":"red" });
alert($(this).prev('label').html() + " is required!");
});
});
}
</script>
Bạn sẽ thay đổi điều này như thế nào để kiểm tra mỗi lần gửi được nhấp? Để thoát khỏi đường viền màu đỏ nếu trường được điền. – Ben
- 1. Trình duyệt webview có hỗ trợ tính năng html5 không?
- 2. Thuộc tính bắt buộc HTML5 dường như không hoạt động
- 3. Trình duyệt trên máy tính có hỗ trợ các sự kiện chạm không?
- 4. Có trình duyệt nào hỗ trợ thuộc tính biểu mẫu trên các yếu tố đầu vào không?
- 5. Hỗ trợ trình duyệt Ember.js?
- 6. Trình duyệt nào hỗ trợ API lịch sử HTML5?
- 7. Canvas HTML5 có hỗ trợ thu phóng dựa trên trình duyệt không?
- 8. FB.login(): Trình duyệt không được hỗ trợ IE Mobile
- 9. Facebook JS kết nối trình duyệt không được hỗ trợ
- 10. Trình duyệt web nào hỗ trợ các trình duyệt web?
- 11. .SVG Hỗ trợ trình duyệt
- 12. Kiểm tra tính tương thích của trình duyệt đối với hỗ trợ API Lịch sử HTML5?
- 13. Hỗ trợ API rung HTML5
- 14. Cách kiểm tra xem trình duyệt có hỗ trợ thuộc tính giữ chỗ gốc không?
- 15. Hỗ trợ trình duyệt E4X
- 16. Thuộc tính bắt buộc trên thuộc tính danh sách chung
- 17. Hỗ trợ codec video HTML5
- 18. Tiền tố trình duyệt có bắt buộc đối với gradient tuyến tính không?
- 19. Hỗ trợ trình duyệt thuộc tính chiều rộng và chiều cao của getBoundingClientRect?
- 20. HTML 5 có được hỗ trợ bởi tất cả các trình duyệt chính không?
- 21. Trình duyệt nào hỗ trợ thuộc tính `<img srcset...>`?
- 22. Thuộc tính trình giữ chỗ không được hỗ trợ trong IE. Bất kỳ đề xuất?
- 23. Kiểm tra hỗ trợ thuộc tính CSS của trình duyệt bằng JavaScript?
- 24. Phát hiện hỗ trợ cho HTML5 <input form = ""> thuộc tính
- 25. Cách Kiểm tra xem trình duyệt có hỗ trợ HTML5 không?
- 26. Phát hiện hỗ trợ cho thuộc tính hộp cát iframe HTML5
- 27. Thuộc tính html5 "mẫu" có hoạt động trên mọi trình duyệt không?
- 28. Tôi có thể áp dụng thuộc tính bắt buộc cho các trường <select> trong HTML5 không?
- 29. Trình duyệt nào hỗ trợ HTML SHORTTAG?
- 30. Trình duyệt nào chỉ hỗ trợ SSLv2?
họ dường như có khá một vài vấn đề với mã thử nghiệm của họ và tài liệu thiếu một số tính năng chúng ta cần như không có khoảng trắng hoặc ký tự – steve0nz
bạn chỉ cần kiểm tra thuộc tính 'bắt buộc'? Có lẽ sẽ tốt hơn là biết thêm chi tiết và xây dựng một chi tiết phù hợp. –