2012-04-28 15 views
0

ちょうどjqueryで遊んで始めましたが、heheを動作させるための簡単な検証はできません。私のjquery formvalidatorを動作させることができません

Validator.js -

$(document).ready(function(){ 

    var form = $("#contactForm"); 
    var name = $("#cfvname"); 
    var email = $("#cfvemail"); 
    var msg = $("#cfvmessage"); 

    name.blur(validateName); 
    email.blur(validateEmail); 

    form.submit(function(){ 
     if(validateName() & validateEmail() & validateMsg()){ 
      return true; 
     } 
     else{ 
      return false; 
     } 
    }); 

    function validateEmail(){ 
     var a = $("email").val(); 
     var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-][email protected][a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9­]+.[a-z]{2,4}$/; 

     if(filter.test(a){ 
      email.removeClass("error"); 
      return true; 

     } 
     else{ 
      email.addClass("error"); 
      return false; 
     } 
    } 

    function validateName(){ 
     if(name.val().length < 5){ 
      name.addClass("error"); 
      return false;  
    } 
     else{ 
      name.removeClass("error"); 
      return true; 
    } 

    function validateMsg(){ 
     if(msg.val().length < 50){ 
      msg.addClass("error"); 
      return false; 
     } 
     else{ 
      msg.removeClass("error"); 
      return true; 
     } 
    } 
}); 

HTML -

<form id="contactForm" method="post" action=""> 
    <div> 
     <label for="dwc_name">Name</label> 
     <br /> 
     <input type="text" id="cfvname" name="dwc_name" /> 
    </div> 
    <div>  
     <label for="dwc_email">Email</label> 
     <br /> 
     <input type="text" id="cfvemail" name="email" /> 
    </div> 
    <div> 
     <label for="dwc_message">Message</label> 
     <br /> 
     <input type="textarea" id="cfvmessage" name="dwc_message" /> 
    </div> 
    <div> 
     <br /> 
     <input type="submit" id="send" value="Send" name="dwc_submit" /> 
    </div> 
</form> 

私は単にそれが意味をなす場合には、適切な電子メールの文字や電子メールの名前とメッセージを検証します。英語は私の最高の言語ではありません。

同じディレクトリからすべてのファイルを実行しています。そして、私は他のものを作って以来、彼らは有益に含まれていますwhoa

とにかく助けが必要です。

もう一度、英語を迷惑にして申し訳ありません。

+1

を使用する必要が代わりにそれを

var a = $("email").val(); 

間違っているだけでなく、外部のサービスに、ここでスタックオーバーフローの問題に直接コードの関連部分を含めてください。 –

+0

互換性の必要性が絶対に必要でない場合は、ネイティブHTML5 + CSS3検証を使用することをおすすめします。 [setCustomValidity](http://stackoverflow.com/questions/5272433/html5-form-required-attribute-set-custom-validation-message)を参照してください。 – MjrKusanagi

答えて

0

この行は、あなたが

var a = email.val(); 
関連する問題