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

登录

用这个

  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 回答