jQuery验证错误消息放置
好的,我使用jQuery验证插件检查一个简单表单上的错误。除了错误的位置,一切都正常。我试图将错误消息放在包含错误的输入之后的SPAN元素中。出于某种原因,下面的代码将错误消息放在一个似乎是全新的LABEL元素中。知道我做错了什么吗 我的htmljQuery验证错误消息放置,jquery,validation,errorplacement,Jquery,Validation,Errorplacement,好的,我使用jQuery验证插件检查一个简单表单上的错误。除了错误的位置,一切都正常。我试图将错误消息放在包含错误的输入之后的SPAN元素中。出于某种原因,下面的代码将错误消息放在一个似乎是全新的LABEL元素中。知道我做错了什么吗 我的html <form action="" id="contact" method="POST"> <p> <label for="name">Name:</label>
<form action="" id="contact" method="POST">
<p>
<label for="name">Name:</label>
<input type="text" name="name" id="name" class="text proper"/><span class="errMsg"></span>
</p>
<p>
<label for="email">* Email:</label>
<input type="text" name="email" id="email" class="required email text"/><span class="errMsg"></span>
</p>
<p>
<label for="extra">*Question:</label>
<textarea name="onlyText" id="onlyText" class=""></textarea><span class="errMsg"></span>
</p>
<button type="submit" id="send">Send Now</button>
<div id="results"></div>
</form>
姓名:
*电邮:
*问题:
立即发送
我的jQuery
<script>
jQuery(document).ready(function($){
$.validator.addMethod("regex",function(value, element, regexp) {
var check = false;
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"No special Characters allowed here. Use only upper and lowercase letters (A through Z; a through z), numbers and punctuation marks (. , ; ? ' ' \" - ~ ! @ $ % ^ & * ( ) _ + / < > { } )"
);
$("#contact").validate({
rules: {
onlyText:{
required: true,
maxlength: 8000,
regex: /^[0-9A-Za-z\s`~!@$%^&*()+{}|;'",.<>\/?\\-]+$/
},
name:{
required: false,
maxlength: 75,
regex: /^[0-9A-Za-z\s`~!@$%^&*()+{}|;'",.<>\/?\\-]+$/
}
} ,
errorPlacement: function(error, element) {
error.appendTo( element.next() ); //* THIS IS WHERE I AM HAVING TROUBLE WITH
});
});
</script>
jQuery(文档).ready(函数($){
$.validator.addMethod(“regex”,函数(值,元素,regexp){
var检查=假;
var re=新的RegExp(RegExp);
返回此.optional(element)| | re.test(value);
},
“此处不允许使用特殊字符。仅使用大小写字母(A到Z;A到Z)、数字和标点符号(,;?”“\”-~!@$%^&*()。+/<>{})”
);
$(“#联系人”)。验证({
规则:{
onlyText:{
要求:正确,
最大长度:8000,
正则表达式:/^[0-9A-Za-z\s`~!@$%^&*(+{}}|“,.\/?\-]+$/
},
姓名:{
必填项:false,
最大长度:75,
正则表达式:/^[0-9A-Za-z\s`~!@$%^&*(+{}}|“,.\/?\-]+$/
}
} ,
errorPlacement:函数(错误,元素){
error.appendTo(element.next());//*这就是我遇到问题的地方
});
});
jQuery验证插件()提供了一个选项,可以指定要用于错误消息的标记:
errorElement: "span"
如果不指定此选项,
validate()
将默认为标签
您可以避免麻烦,使用errorElement
和errorClass
选项让插件为您添加正确的元素:
$("#contact").validate({
errorElement: 'span',
errorClass: 'errMsg',
rules: {
onlyText:{
required: true,
maxlength: 8000,
regex: /^[0-9A-Za-z\s`~!@$%^&*()+{}|;'",.<>\/?\\-]+$/
},
name:{
required: false,
maxlength: 75,
regex: /^[0-9A-Za-z\s`~!@$%^&*()+{}|;'",.<>\/?\\-]+$/
}
}
});
$(“#联系人”)。验证({
errorElement:'span',
errorClass:'errMsg',
规则:{
onlyText:{
要求:正确,
最大长度:8000,
正则表达式:/^[0-9A-Za-z\s`~!@$%^&*(+{}}|“,.\/?\-]+$/
},
姓名:{
必填项:false,
最大长度:75,
正则表达式:/^[0-9A-Za-z\s`~!@$%^&*(+{}}|“,.\/?\-]+$/
}
}
});
您的javascript中有一些错误,因此我尝试在这里进行一些清理:非常感谢。您不知道我一直在努力解决这个问题多久了!@Austin不客气,如果这个答案对您有帮助,请不要忘记投票/接受它