2012-01-21 13 views
7

jQuery Validatorを使用しています。デフォルトのフォーカス動作を無効にしたいと考えています。jQueryバリデータで自動入力フォーカスを無効にする

私は入力フィールド自体に値としてフィールド名を含めています(Stack Overflowの右上にある "search"入力のように)。ここで問題となるのは、フォームを送信すると、フィールドに無効なフラグが立てられた場合、フィールドに自動的にフォーカスしてフィールド値が削除されるということです。

これは、特定のフィールドの目的を知らないため、ユーザーにとって混乱を招く可能性があります。この動作を無効にする方法はありますか?私はこの答えを見つけ、ちょうどここでそれを共有したいと思った

$(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

あなたは答えとしてあなたのソリューションを書いて、正しい答えとしてそれを受け入れる必要があります。 – PetersenDidIt

答えて

9

::私は単にfocusInvalid: falseを使用するために必要な

私は場合に役立ちますよう、以下の私のコードを含めました。このような

9

使用ジェレミーの答え:

$("#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(); 
      } 
     }); 
関連する問題