2010-12-02 14 views
0

フォームの検証が実行されません...何も入力せずにこのフォームを送信しようとすると、検証する必要がありますが、この場合はフォームを受け入れます。フォームの検証が機能していない

<script src="Scripts/jquery-1.4.4.min.js" type="text/javascript"></script> 
<script src="Scripts/jquery.validate.min.js" type="text/javascript"></script> 

<script> 
    $(document).ready(function() { 
     $("#register").click(function (event) { 
      // validate the comment form when it is submitted 
      // validate signup form on keyup and submit 
      $("#form1").validate({ 
       rules: { 
        firstname: "required", 
        lastname: "required", 
        //city: "required", 
        state: "required", 
        country: "required" 
       }, 
       messages: { 
        firstname: "Please enter your firstname", 
        lastname: "Please enter your lastname", 
        //city: "Please enter a valid email address", 
        country: "Please select your country" 
       } 
      }); 
      $("#form1").validate({ 
       submitHandler: PostData 
      }); 


      function PostData() { 

       $.ajax(url, { Id: '1' }, 
         function (data, textStatus) { 
          //alert(textStatus); 
         }); 
      } 

     }); 
    }); 
</script> 
<div id="content-main"> 
    <div class="main-inner"> 
     <form id="form1" class="toolTip hasCorners" name="form1" action="http://site.com/" 
     onsubmit="return false;" method="post"> 
     <fieldset> 
      <div class="fontWeight7"> 
       <input type="radio" value="1" name="pledge_level" class="required"> 
       <p class="radioText"> 
        Iam on vacation.</p> 
       <label for="level1" class="error"> 
        Please select</label> 
      </div> 
      <p class="required-msg"> 
       All fields below are required</p> 
      <div class="subColumns paragraph"> 
       <div class="lefty"> 
        <div class="fontWeight7"> 
         <label for="first_name"> 
          First Name:</label> 
         <input id="first_name" class="text hasCorners required" name="first_name" type="text" 
          maxlength="200" value=""> 
         <label for="level1" class="error"> 
          Please enter your name!</label> 
        </div> 
       </div> 
       <div class="cdc-left"> 
        <div class="fontWeight7"> 
         <label for="last_initial"> 
          Last Initial:</label> 
         <input id="last_initial" class="text hasCorners required" name="last_initial" type="text" 
          maxlength="200" value=""> 
         <label for="level2" class="error"> 
          Please enter your last initial!</label> 
        </div> 
        <rest of the code here .... > 
       </div> 
      </div> 

<input id="register" name="register" value="Submit Your form" 
            type="submit"> 

答えて

1

文書の準備ができたら.validateがないボタンのクリックで、行われるべきです。だからそこから取り出してください。

$(document).ready(function() { 
    $("#form1").validate({ 
      rules: { 
       firstname: "required", 
       lastname: "required", 
       //city: "required", 
       state: "required", 
       country: "required" 
      }, 
      messages: { 
       firstname: "Please enter your firstname", 
       lastname: "Please enter your lastname", 
       //city: "Please enter a valid email address", 
       country: "Please select your country" 
      }, 
      submitHandler: PostData 
     }); 
    }); 
}); 

function PostData() { 
    $.ajax(url, 
      { Id: '1' }, 
      function (data, textStatus) { 
       //alert(textStatus); 
      }); 
} 

HTHS、
チャールズ

+0

あなたが機能(データ、textStatus){// 警告(textStatus)に何を置きます。 }); ???? –

+0

私はちょうど質問からコードをコピーして貼り付けました。あなたの質問に答えるには:私は知らない!私はそれが有効なjQueryであるかどうかわかりません。詳細はこちらをご覧ください:http://api.jquery.com/jQuery.ajax/ – Charlino

関連する問題