我有一个使用 jQuery Validate 进行验证的简单表单,但我遇到了一个我以前从未见过的问题。我有一个包装在容器中的表单,该容器使用验证摘要进行验证,当您在成功验证的字段之一中输入一些信息然后关闭标签时,容器的整个内容就会消失。我认为这与匹配表单所在容器的包装器属性有关。您可以在以下代码片段/jsFiddles 中看到此行为:
$('#form1').validate({
wrapper: 'p',
errorContainer: '#jserror',
errorClass: 'jserror',
errorLabelContainer: '#ValidationErrors',
highlight: function(element, errorClass) {
$(element).addClass('errorfields');
},
unhighlight: function(element, errorClass) {
$(element).removeClass('errorFields');
},
rules : {},
messages: {
name: {
required: "Name is required"
},
postSlug: {
postSlug: "Can only contain numbers, letters, dashes and underscores",
required: "Post slug is required"
}
}
});// end validate
表单和标题被包装在 ul/li 中,设置包装器时该内容完全消失:'li' http://jsfiddle.net/tjans/cqXXu/41/
表单和标题被包裹在 div 中,设置 wrapper 时内容完全消失:'div' http://jsfiddle.net/tjans/cqXXu/44/
表格和标题被包裹在 div 中,包装器设置为 'p',一切正常。 http://jsfiddle.net/tjans/cqXXu/45/
这是一个错误,还是有解决方法/更好的语法来做到这一点?