0

jquery検証を使用して検証しようとしていますが、エラーメッセージでdivコンテナに表示されます。私の問題は、入力フィールドに何かを入力すると、エラーメッセージが常に「div.info」に表示されるのですが、フォームを送信するときにエラーメッセージが常に表示されるようにしたいだけです。そして、私の次の問題は、複数回送信すると、エラーメッセージも複数回表示されることです。

私のコードは以下のようなものです

HTMLコード

<div class="info"></div>
 <form id="fmlogin">
  <fieldset>
    <label>Email Address</label>
    <input type="text" name="email" />
    <label>Password</label>
    <input type="password" name="password"/>
    <input type="submit" value="login" />
  </fieldset>
 </form>

jquery

<script type="text/javascript">
        $(document).ready(function(){       
        $("form#fmlogin").submit(function() {
            data= $("form#fmlogin").serialize();
            return false;
        });

        $("#fmlogin").validate({
            rules: {
                email: {
                    required: true,
                    email:true
                },
                password: {
                    required: true,
                }
            },      
        messages: {
            email: {
                required: "Email Address is required",
                email:"Email Address is not Valid"
            },
            password: {
                required: "Password is required",
            }
          },
        errorElement: "div",
        wrapper: "div", 
        errorPlacement: function(error, element) {  
            error.appendTo($('.info'));
        },
        submitHandler: function(form){          
            $.ajax({
                type: "POST",
                url: "login.php",
                data:data,
                success: function(response){
                    $(".info").text(response);
                }   
            }); 
        }
        }); 
        });
</script>   

jquery検証を初めて使用します。助けてください。

ありがとう

4

1 に答える 1

0

fmlogin

これを使って

  var data=$("#fmlogin").serialize();
 $("#fmlogin").submit(function(){
   $.ajax({
            type: "POST",
            url: "login.php",
            data:data,
            success: function(response){
      //if you want to show error more that once than use append instead of text
                $(".info").append(response);
            }   
    })
于 2012-10-14T15:35:44.367 に答える