2012-02-10 18 views
0

以下にJSPページのソースコードが添付されています。なぜ私の検証フレームワークが機能していないのか分かりません。jqueryの検証が機能していません。検証中ではありません

でもボディーが経験で私を助けることができます。

私は選択のラジオボタンをクリックせずにボタンを提出の上にヒットしようとしていますたび。それは私に検証の問題を与えるはずです。しかし、それは動作していません。私のスクリプトで間違って何

いけませんか?

あなたはそれを確認し、私を助けてくださいことはできますか?

HTMLコード:

<form method="post" id="identityVerification"> 
       <div class="error-message" id="error-message1" style="display:none;"> 
        <p id="err_cars" style="font-size:13px;"></p> 
        <p id="err_street" style="font-size:13px;"></p> 
       </div><br/> 
       <div> 
        <p style="padding-bottom:15px; font-size:13px;">Which of the following car is registered under your name in state of Washington?</p> 
           <input type="radio" name="questions[0].answer" value="Ford Focus" id="questions[0].answer_0"></input> 
           <label for="questions[0].answer_0">Ford Focus</label> 
           <input type="radio" name="questions[0].answer" value="Chevy Aveo" id="questions[0].answer_1"></input> 
           <label for="questions[0].answer_1">Chevy Aveo</label> 
           <div class="clear"></div> 
           <input type="radio" name="questions[0].answer" value="Toyota Celica" id="questions[0].answer_2"></input> 
           <label for="questions[0].answer_2">Toyota Celica</label> 
           <input type="radio" name="questions[0].answer" value="None of these" id="questions[0].answer_3"></input> 
           <label for="questions[0].answer_3">None of these</label> 
           <div class="clear"></div> 
       </div> 
       <br/><br/><br/><br/> 

       <div> 
        <p style="padding-bottom:15px; font-size:13px;">Which of the following street are you currently residing or have previously resided?</p> 
           <input type="radio" name="questions[1].answer" value="1 Grape Vine" id="questions[1].answer_0"></input> 
           <label for="questions[1].answer_0">1 Grape Vine</label> 
           <input type="radio" name="questions[1].answer" value="23 Main Street" id="questions[1].answer_1"></input> 
           <label for="questions[1].answer_1">23 Main Street</label> 
           <div class="clear"></div> 
           <input type="radio" name="questions[1].answer" value="87 Market Street" id="questions[1].answer_2"></input> 
           <label for="questions[1].answer_2">87 Market Street</label> 
           <input type="radio" name="questions[1].answer" value="None of these" id="questions[1].answer_3"></input> 
           <label for="questions[1].answer_3">None of these</label> 
           <div class="clear"></div> 
       </div> 
       <br/><br/><br/><br/> 
       <input type="submit" class="ButtonFirst" value="Submit" id="submitVerifyButton"> 
      </form> 

JavaScriptのコード:

$(document).ready(function() 
     { 
      validationRules = { 
        "cars": {required:true}, 
        "street": {required:true} 

       }, 
      validationMessages = { 
        "cars": "Please select car registered under your name", 
        "street": "Please select your residential street" 
       }; 
      $("#identityVerification").validate(
      { 
       rules: validationRules, 
       messages: validationMessages, 
       highlight: function(element) { 
        var id = element.id, 
        errorElement = $("#err_" + id), 
        errorContainer = errorElement.closest("div.error-message"); 
        $(element).addClass("error-message"); 
        errorContainer.show(); 
       }, 
       unhighlight: function(element) { 
        var id = element.id; 
        $(element).removeClass("error-message"); 
       }, 
       success: function(errorElement) 
       { 
        var errorContainer = errorElement.closest("div.error-message");   
        if(errorContainer.find("span:visible").length == 0) 
         errorContainer.hide(); 
       }, 
       errorElement: "span" 

      }); 
     }); 
+0

purのHTMLソースコードのみを投稿してもよろしいですか?だから、あなたが望むより多くのユーザーに手を差し伸べることができます。そして、それは私たちにとってもっと簡単です。 – reporter

+0

はHTMLとJavaスクリプトコードを個別に更新しました –

答えて

1

だから私はあなたのコードをテストし、私はあなたのコードが正常に動作することを言わなければなりません。あなたはちょっとした間違いをしました。あなたのHTMLコードを見てください、あなたはこのような何かを見つける:

<input type="radio" name="questions[1].answer" value="1 Grape Vine" id="questions[1].answer_0"></input> 

入力フィールドには、名前に質問を持っている1 .answer質問[0] .answer。あなたのjavascriptコードでは、必要に応じて*street* and *cars*という名前のラジオ・グループを宣言しました。したがって、フォームの未定義フィールドを指しています。 Jqueryは未定義のエラーメッセージをユーザに迷惑をかけません。そのため、スクリプトが機能しないようです。

あなたがhereを参照してください、私を信頼していない場合は

+1

はい真です。名前は正しいです。私が見つけたもう一つの問題は、私が[]で名前を使用していたこと、そしてjquery '[]'に特殊文字があることです。だから、私はerrorElement = $( "#err_" + id)を実行しようとしていたときにエラーを出します。だから私はこれを克服するためにdocument.getElementById –

0

私はあなたのレイアウト/ページ内のjquery.validation.jsファイルを含めていないと思います。 jsファイルをインクルードしてみてください。 jquery.validationを使用していない場合は、これをクライアント側の検証に使用する必要があります。詳細については、チェックアウト後のリンクをご覧ください。 http://docs.jquery.com/Plugins/Validation

+0

が含まれています。私たちは多くの場所でそれを使用しています –

関連する問題