我有一个带有两个单选按钮和一个提交按钮的简单表单。
如果未选中任何无线电,则单击提交时会出现错误。正如它应该。然后单击单选按钮会使错误消失。
问题:错误消失后,如果单击其他单选按钮,则会再次显示错误。同样,当我单击提交按钮时,它会短暂显示。这是为什么?
Here's a fiddle showing the issue
以下是代码:
<form>
<input type="radio" name="options" class="radioB">
<input type="radio" name="options" class="radioB">
<input type="submit" value="submit" class="submit">
</form>
<div id="error--holder"></div>
$("form").validate({
rules: {
options: {
required: true
}
},
messages: {
options: "Whoops! Please indicate who.",
},
errorPlacement: function(error, element) {
$('#error--holder').html(error.text()+' <a href=#>Go fix it...</a>').fadeIn();
},
success: function(error) {
$('#error--holder').fadeOut();
},
submitHandler: function (form) {
return false; // stop
}
});
答案 0 :(得分:1)
你可以应用技巧,如果元素中有错误文本,那么fadeIn()
错误信息,请看下面的示例代码
errorPlacement: function(error, element) {
if(error.text())
$('#error--holder').html(error.text()+' <a href=#>Go fix it...</a>').fadeIn();
}