Pregunta

Tengo una forma simple como a continuación que he agregado el complemento de validaciones de jQuery (http://docs.jquery.com/plugins/validation). Tengo este formulario en una ventana emergente modal, por lo que si hay errores y el usuario cierra la ventana cuando lo abre nuevamente, el formulario todavía tiene los errores. En mi devolución de llamada PopUp Close intenté llamar a Resetform () pero dice que el método no existe.

Formulario html:

 <form class="validations" id="commentForm" method="get" action="">
   <p>
     <label for="name">Name</label>
     <em>*</em><input id="name" name="name" size="25" class="required" minlength="2" />
   </p>
   <p>
     <label for="email">E-Mail</label>
     <em>*</em><input id="email" name="email" size="25"  class="required email" />
   </p>
 </form>

PopUp Cerrar la devolución de llamada:

function(){
  $(this).find('form.validations').resetForm();
}

Gracias de antemano por la ayuda.

¿Fue útil?

Solución

resetForm es parte del objeto devuelto por el método Validate, no el formulario. Ejemplo:

var validate = $('#commentForm').validate({ ... });
// Later...
validate.resetForm();
// Or if variable scope is in the way...
$('#commentForm').data('validator').resetForm();

El complemento de validación almacena una referencia al objeto de validación en el almacén de datos del formulario.

Otros consejos

Si realmente es una forma corta con solo unos pocos elementos, simplemente podría restablecerlos a mano cuando se haga clic en el botón de cierre en la ventana modal, así: así:

$("input[name='formelementName']").val("");

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top