Dane wejściowe z walidacją początkowo nie są oznaczone jako niepoprawne do czasu zmiany wartości. Jak przywrócić ten stan początkowy?Resetowanie niewłaściwego stanu wejściowego HTML5
Mój problem w szczegółach: Mam prosty formularz zamówienia. Jeśli użytkownik kliknie przycisk "dodaj element", sklonuję pierwszy element i opróżnię pola wejściowe. Ale ponieważ używam sprawdzania html5, opróżnianie czyni je nieważnymi.
To co się dzieje po kliknięciu "Dodaj produkt", nawet jeśli pierwszy zestaw pól jest ważny:
Demo: http://jsfiddle.net/WEHdp/ (zobacz 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>
Czy możesz również opublikować swój odpowiedni kod. – defau1t
Zaktualizowałem pytanie. – iGEL
Co dokładnie masz na myśli przez "czyni je nieważnymi"? Nie jesteś pytany w polu "pole wymagane wiadomość", aż naciśnięcie przycisku przesyłania, prawda? – Bart