Các đầu vào có xác thực ban đầu không được đánh dấu là không hợp lệ cho đến khi giá trị thay đổi. Làm cách nào để khôi phục trạng thái ban đầu này?Đặt lại trạng thái đầu vào không hợp lệ HTML5
Vấn đề của tôi một cách chi tiết: Tôi có một mẫu đơn đặt hàng đơn giản. Nếu người dùng nhấp vào nút "thêm mục", tôi sao chép mục đầu tiên và làm trống các trường nhập. Nhưng kể từ khi tôi đang sử dụng xác nhận html5, việc làm trống làm cho chúng không hợp lệ.
Đây là những gì xảy ra sau khi nhấp vào "Add Product", ngay cả khi tập đầu tiên của lĩnh vực có giá trị:
Demo: http://jsfiddle.net/WEHdp/ (xem trong Firefox):
<form action="/orders/preview" method="post">
<div class="orderData">
<input name="order[order_items_attributes][0][articleno]" pattern="[0-9]{4}" required />/
<input name="order[order_items_attributes][0][colorno]" pattern="[0-9]{3}" required />
<div>
<a href="#" class="removeOrder">Remove product</a>
<a href="#" class="addOrder">Add product</a>
</div>
</div>
</form>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.js"></script>
<script>
$(document).ready(function() {
$(".addOrder").live("click", function (event) {
event.preventDefault();
// Clone div
$('.orderData:first').clone().insertAfter(".orderData:last");
// Empty the fields
$('.orderData:last input').val("");
});
$(".removeOrder").live("click", function (event) {
event.preventDefault();
if($('.orderData').size() > 1){
$(this).parents('.orderData').remove();
}
});
});
</script>
Bạn cũng có thể đăng mã có liên quan của mình không. – defau1t
Tôi đã cập nhật câu hỏi. – iGEL
Chính xác, ý của bạn là "làm cho chúng không hợp lệ"? Bạn không được nhắc trong một thông báo "trường bắt buộc" cho đến khi nhấn gửi, phải không? – Bart