Webshim表单验证:如何为按钮添加自定义验证?

时间:2014-04-25 16:01:09

标签: javascript validation html-form webshim

我在表单中有一个输入类型的按钮,以及一个隐藏的输入字段类型的文本。 webshim可以自定义验证,以便它可以通过检查隐藏字段是否有值来验证是否已点击btn(我的按钮会将值传递给隐藏值onclick),并将验证错误类应用于btn?

1 个答案:

答案 0 :(得分:1)

隐藏状态下的提交者和输入始终被禁止验证。因此你不能这样做。但你可以做点别的事情:

使用带状态复选框的输入并为其标签设置样式,就像它是普通按钮一样。然后添加更改侦听器,并在选中后立即阻止进一步更改。这样就不能再取消选中它,复选框的值将被发送到服务器。

这是一个简单的演示: http://jsfiddle.net/trixta/8fpZ3/

这就是JS看起来只能一次点击它的方式:

   $(function () {
        $('.btn-checkbox input').each(function () {
            var onCheck = function () {
                if(elem.prop('checked')){
                    elem.off('change', onCheck);
                    elem.on('click', false);
                }
            };
            var elem = $(this).on('change', onCheck);
        });
    });