1

jquery を使用してフォームを検証しようとしていますが、うまくいきません。送信をクリックしても、エラー メッセージは表示されません。

どこに問題があるのか​​教えてください。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
 <script type="text/javascript" src="validation.js"></script>

 <script>
 $(document).ready(function() { 
// validate signup form on keyup and submit 
var validator = $("#signupform").validate({ 
    rules: { 
        fname: "required", 
        lname: "required", 
        username: { 
            required: true, 
            minlength: 2, 
            remote: "<? echo base_url();?>mycontroller/function" }
       }, 
    messages: { 
        fname: "Enter your firstname", 
        lname: "Enter your lastname", 
        username: { 
            required: "Enter a username", 
            minlength: jQuery.format("Enter at least {0} characters"), 
            remote: jQuery.format("{0} is already in use") 
        }, 

    }, 



}); 

</script>

マイフォーム

 <!--I am trying to show all the error message here --> 

<form id="signupform" autocomplete="off" method="get" action="">

 FName:
 <input id="fname" name="fname" type="text" value="" />
 Lname:
 <input id="lname" name="lname" type="text" value="" />
 username:
 <input id="username" name="username" type="text" value="" />   <br>      

 <input id="signupsubmit" name="signup" type="submit" value="Signup" />          
 </form>            
4

1 に答える 1

1

コメントで述べたように、フィドルで動作します

スクリプトがロードされていることを確認してください。jquery および validate.js の cdn ホスト バージョンを使用して試すことができます。

jquery CDN

http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js

validate.js CDN

http://ajax.aspnetcdn.com/ajax/jQuery.Validate/1.6/jQuery.Validate.js

これで動作する場合は、スクリプトがロードされていないことを意味し、リンクを確認してください

編集

$(":submit").click(function(e){

    if(!$(this).closest("form").valid()){
        e.preventDefault();
        var errText="";
        $(".error").each(function(i,j){
         errText+=$(j).text()+"<br/>";           
        });
        $("#errDiv").html(errText).css({color:'Red'});  

        }

});

http://jsfiddle.net/85DM4/17/

カンマ区切りではありませんが、きっとお分かりいただけると思います

于 2012-05-28T15:10:37.727 に答える