jQuery使用focusCleanup验证选择框

时间:2017-03-03 18:49:38

标签: javascript jquery jquery-validate

我正在使用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-focuscleanup

此解决方案已解决了下拉列表的问题,但现在复选框上也出现了同样的问题。

修复适用于下拉菜单,但不适用于复选框

小提琴示例:http://jsfiddle.net/sw87W/257/

所以我需要一个适用于所有元素的解决方案。

1 个答案:

答案 0 :(得分:0)

  

单击这些元素后提交表单后,单击选择框时隐藏jsfiddle.net/sw87W/257错误消息

显然,onclick选项也会禁用select。但是,如果您需要复选框的onclick: false选项,那么您需要为select元素编写另一个处理程序...

$('[name="numbers"]').on('click', function() {
    $(this).valid();
});

DEMO:http://jsfiddle.net/d83oaa3v/