我正在使用jQuery validate插件来验证我的表单。因此,当用户单击提交按钮时,它会验证表单。现在,如果用户单击任何表单元素,则应清除错误,直到用户离开输入为止。
因此,从插件文档中,我知道FocusCleanup正是我想要的。它适用于下拉下的所有元素。
修复了对所有元素以外的所有元素的工作http://jsfiddle.net/paraselixir/sw87w/259/
为了解决此问题,我尝试了以下设置以获取验证插件
settings = {
// global form validator settings
errorClass : 'error',
errorElement : 'span',
onkeyup : false,
.
.
focusCleanup : true,
onclick:false,
.
.
.
}
参考:https://forum.jquery.com/topic/jquery-validate-select-box-with-foccleanup
此解决方案已解决了下拉列表的问题,但是现在在复选框上也发生了同样的问题。
修复适用于下拉菜但不适合复选框的修复
小提琴示例:http://jsfiddle.net/sw87w/257/
因此,我需要一个适合所有元素的解决方案。
单击这些元素时提交表单后,在单击select框
上,在jsfiddle.net/sw87W/257
中隐藏了错误消息。
显然,onclick
选项还禁用select
。但是,如果您需要复选框的onclick: false
选项,则需要为Select元素编写另一个处理程序...
$('[name="numbers"]').on('click', function() {
$(this).valid();
});
演示:http://jsfiddle.net/d83oaa3v/