Jquery验证错误放置/提交程序

Jquery验证错误放置/提交程序,jquery,ajax,validation,plugins,errorplacement,Jquery,Ajax,Validation,Plugins,Errorplacement,如何编写js,以便将来自jquery验证插件的响应放在表单字段框中 html表单如下所示: <form class="cmxform" id="commentForm" method="POST" action=""> <p> <label for="cname">Name</label> <input id="cname" type="text" name="name" size="60" class="required" minlen

如何编写js,以便将来自jquery验证插件的响应放在表单字段框中

html表单如下所示:

<form class="cmxform" id="commentForm" method="POST" action="">
<p>
 <label for="cname">Name</label>
 <input id="cname" type="text" name="name" size="60" class="required" minlength="2" />
</p>
<p>
 <label for="cemail">E-Mail</label>
 <input id="cemail" type="text" name="email" size="60"  class="required email" />
</p>
<p>
 <label for="curl">URL</label>
 <input id="curl" type="text" name="url" size="60"  class="url" value="" />
</p>
<p>
 <label for="ccomment">Your comment</label>
 <textarea id="ccomment" type="text" name="comment" cols="72" rows="8"  class="required"></textarea>
</p>
<p>
 <div id="button2"><input class="submit" id="submit_btn" type="submit" value="Send Email"/></div>
</p>
</form>


名称

电子邮件

统一资源定位地址

你的评论

js当前看起来像这样:

<script>
$(document).ready(function() {
    $('#commentForm').validate({
        submitHandler: function(form) {
            $.ajax({
                type: 'POST',
                url: 'process.php',
                data: $(this).serialize(),
                success: function(returnedData) {
                    $('#commentForm').append(returnedData);
                }
            });         
            return false;
        }
    });
});
</script>

$(文档).ready(函数(){
$(“#commentForm”)。验证({
submitHandler:函数(表单){
$.ajax({
键入:“POST”,
url:'process.php',
数据:$(this).serialize(),
成功:函数(返回数据){
$(“#commentForm”).append(returnedData);
}
});         
返回false;
}
});
});

什么是将errorPlacement放入表单字段输入值的正确js?因此,如果有人没有包括他们的电子邮件,响应“此字段是必需的”将出现在电子邮件的输入值中。目前,它是在输入之后返回的。谢谢。

验证提供了选项
errorPlacement
,这正是用于此目的的函数

我使用jQueryUI的
position
实用程序为您快速编写了这篇文章(因此您必须包含jQueryUI才能使我的版本正常工作):

注:我还定义了这个CSS:

label.error { color: red; position:absolute; }​

请参见此处的操作:

您的意思是在输入中过度写入值吗?真的不清楚你想要什么,这正是我的意思。到目前为止,谢谢你真的没有什么意义。如果您过度写入值,用户如何查看或编辑它们?我的意思是,如果电子邮件或名称字段留空,js将在表单字段内返回响应“this field is required”,作为“focus”事件。很抱歉,我对这个问题的措辞有任何混乱。谢谢你,这并不难,但需要一些时间来编码和调试逻辑,并与插件集成…恐怕我现在帮不上忙。如果这有什么帮助的话,谢谢你的想法@Ryley。如何使用jquery的位置将验证响应放入表单的文本输入字段中?或者至少通过在输入字段上浮动它们来显示它们是这样的?或者这是不可能的?目前,我只能让元素出现在输入字段之前或之后。抱歉,尼克,我的JSFIDLE链接错误-查看新链接-它正在按您的要求工作。。。
label.error { color: red; position:absolute; }​