jQuery Validate插件不会删除错误消息

pao*_*loi 3 forms jquery jquery-validate

我"再次"询问jQuery Validate插件......

现在,我的问题是错误标签不会隐藏,直到我单击提交按钮一次,然后需要第二次单击提交表单,任何想法?如果我的输入文本有效,我需要的是错误标签隐藏.

jQuery的:

$("#form").validate({
            rules: {
                "name": {
                    required: true,
                    minlength: 3
                },
                "phone":{
                    required:true,
                    digits:true,
                    minlength: 9
                },
               "email":{
                    required: true
                },
                "storageoptions":{
                    required: true
                },
                "quantity":{
                    required:true,
                    digits:true
                }
            },
            messages: {
                "name": {
                    required: "Please enter a name"
                },
                "phone":{
                    required: "Required field"
                },
                "email":{
                    required: "Enter a valid email"
                },
                "storageoptions":{
                    required: "Please select an option"
                },
                "quantity":{
                    required: "This Field required"
                }               
            },
            errorPlacement: function(error, element) {
               error.insertBefore(element);
            },
            submitHandler: function (form) {    

               $.ajax({
                    type: 'POST',
                    data: $(form).serialize(),
                    url: 'file.php',
                    success: function () {
                        form.reset();
                        $('#submit').hide();
                        $('#success-line').show().fadeOut(7000, function(){
                            $('#submit').show("slow");
                        });
                    }
                });
                return false;
            }


        });
Run Code Online (Sandbox Code Playgroud)

这是我的演示:http://jsfiddle.net/ujDC3/

Spa*_*rky 5

默认情况下,jQuery Validate插件会自动清除模糊和键盘事件的错误消息.但是,您的实现被无效的HTML破坏了.

没有这样的事情type="input":

<input type="input" name="name" id="name" class="longinput" />
Run Code Online (Sandbox Code Playgroud)

将它们全部更改为type="text":

<input type="text" name="name" id="name" class="longinput" />
Run Code Online (Sandbox Code Playgroud)

现在它按预期工作:http://jsfiddle.net/Y9RFt/