Las entradas con una validación inicialmente no se marcan como inválidas hasta que el valor cambie. ¿Cómo restauro este estado inicial?Restablecer el estado de entrada no válida HTML5
Mi problema en los detalles: Tengo un formulario de pedido simple. Si el usuario hace clic en el botón "agregar elemento", clono el primer elemento y vacía los campos de entrada. Pero dado que estoy usando la validación html5, el vaciado los hace inválidos.
Esto es lo que sucede después de hacer clic en "Añadir producto", incluso si el primer conjunto de campos es válido:
Demostración: http://jsfiddle.net/WEHdp/ (vista en 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>
¿Puede por favor publicar su código relevante también. – defau1t
He actualizado la pregunta. – iGEL
¿Qué quiere decir exactamente con "los hace inválidos"? No se le solicita dentro de un "mensaje de campo requerido" hasta que presione enviar, ¿verdad? – Bart