0

我有一个使用bassistance validate 插件验证的表单。这一切都很好(顺便说一句很棒的插件),但我想禁用提交按钮,直到表单有效。

根据作者 Jörn Zaefferer(在此处阅读评论)的说法,我必须跟踪所有字段的有效性,然后启用该按钮。

所以我假设我首先必须找到类名为“required”的所有字段,然后检查它们是否也有一个“valid”类,然后最后启用按钮......但我真的很难做到这个(我已经花了 3.5 个小时,这让我发疯了!)

我尝试使用此处提出的计时器技术绑定我的输入字段以侦听“有效”类,并提出以下建议:

function doneTyping () {

var requiredFields = $('input').hasClass('required');

$(requiredFields).each(function(){
    if ($(this).hasClass('valid')){
        console.log('form is valid, enable button here');
    } else {
        console.log('form is not valid yet');
    }
});

}

但是我的代码不起作用...有人可以告诉我我是否朝着正确的方向前进吗?

4

2 回答 2

2
function doneTyping () {

var requiredFields = $('input.required');

    if ($("input.required:not(:valid)").length){
        console.log('form is not valid, disable button here');
    } else {
        console.log('form is  valid ');
    }

}
于 2012-07-12T14:51:09.153 回答
0

您可以根据您的插件使用以下想法检查表单是否有效

alert (($("#Form1").validationEngine('validate')));

这将为您提供一个 true 或 false 值,并且基于此您可以显示或隐藏按钮。

最初使用以下方法隐藏按钮:

$(document).ready(function() 
{
  $("#ButtonSubmit).hide();
}
于 2012-07-12T15:22:20.163 回答