2012-01-21 18 views
7

Estoy usando jQuery Validator y me gustaría poder deshabilitar el comportamiento de enfoque predeterminado.Deshabilitar el enfoque automático de entrada con el validador jQuery

Estoy incluyendo los nombres de campo como valores directamente en los campos de entrada en sí (como lo que se ve en la entrada de "búsqueda" en la parte superior derecha de Stack Overflow). El problema aquí, es que cuando envío el formulario y un campo se marca como no válido, se enfoca automáticamente en el campo, lo que elimina el valor del campo.

Esto podría ser confuso para un usuario, ya que no conocen el propósito de ese campo específico. ¿Hay alguna forma de desactivar este comportamiento?

He incluido mi código a continuación, en caso de que ayuda a:

$(document).ready(function(){ 
    jQuery.validator.messages.required = ""; 
    jQuery.validator.addMethod("notEqual", function(value, element, param) { 
     return this.optional(element) || value !== param; 
    }, ""); 

    $("#quoteForm").validate({ 
     rules: { 
      firstName: { 
       required: true, 
       notEqual: "First name" 
      }, 
      email: { 
       required: function(element) {return $("#emailAdd").val() == '';}, 
       notEqual: "Email", 
       email: false 
      }, 
      phone: { 
       required: function(element) {return $("#phoneNum").val() == '';}, 
       notEqual: "Phone", 
       phoneUS: false 
      } 
     } 
    }); 
}); 
+0

Usted debe escribir su solución como una respuesta y aceptarla como la respuesta correcta. – PetersenDidIt

Respuesta

9

he encontrado la respuesta a esto y sólo quería compartir aquí:

simplemente necesitaba usar focusInvalid: false. La respuesta de

9

Uso Jeremy así:

$("#contactForm form").validate({ 
      focusInvalid: false, 
      rules: { 
       name: "required", 
       email: { 
        required: true, 
        email: true 
       }, 
       message: "required" 
      }, 
      messages: { 
       name: 'Fill in name', 
       email: 'Fill in email', 
       message: 'Fill in message' 
      }, 
      submitHandler: function(form) { 
       return SubmitContactForm(); 
      } 
     }); 
Cuestiones relacionadas