Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript表单验证按钮禁用_Javascript_Jquery - Fatal编程技术网

javascript表单验证按钮禁用

javascript表单验证按钮禁用,javascript,jquery,Javascript,Jquery,我想看看是否所有的表单输入都已填写并且符合我的规范。在输入字段之间发生的每个“keyup”事件中,都会调用函数“checker”来验证输入。如果出现问题,则应禁用“提交”按钮。由于某种原因,该按钮从未被禁用,因此我认为这是一个逻辑错误 $('.confirm,.password,.username,.email').on('keyup', function(){ if(!checker){ $('.submit').prop('disabled', true);

我想看看是否所有的表单输入都已填写并且符合我的规范。在输入字段之间发生的每个“keyup”事件中,都会调用函数“checker”来验证输入。如果出现问题,则应禁用“提交”按钮。由于某种原因,该按钮从未被禁用,因此我认为这是一个逻辑错误

$('.confirm,.password,.username,.email').on('keyup', function(){
    if(!checker){
        $('.submit').prop('disabled', true);    
    }else{
        $('.submit').prop('disabled', false);   
    }
});


function checker(){
    if(!($('.username').length >= 2 && $('.username').length <= 12) || !( 
        isValidEmailAddress($('.email').val())) || !($('.password').length 
        >= 8 && $('.password').length <= 20 ) || !($('.confirm').length 
        >= 8 && $('.confirm').length <= 20) || !($('.password').val() === 
        $('.confirm').val()))
        {
            return False;
        }else{
            return True;
        }   
}
$('.confirm、.password、.username、.email')。在('keyup',function()上{
如果(!checker){
$('.submit').prop('disabled',true);
}否则{
$('.submit').prop('disabled',false);
}
});
函数检查器(){
如果(!($('.username').length>=2&&$('.username').length=8&&$('.password').length=8&&$('.confirm').length=2&&$('.username').length
如果(!checker)
表示“如果标记为
checker
的框是错误值,则运行此块”

您想说“如果调用标记为
checker
的框的结果是错误的,请运行此块。”

为此,我们需要调用
检查器

如果(!checker())
两件小事:

  • 您需要实际调用
    checker()
    。现在只需检查表达式中是否存在
    checker
    ,而不根据其返回值进行解析
  • True/False
    更改为
    True/False
    True/False
    在JavaScript中没有定义
正确
ReferenceError:未定义True

$('.confirm、.password、.username、.email')。在('keyup',function()上{
如果(!checker()){
$('.submit').prop('disabled',true);
}否则{
$('.submit').prop('disabled',false);
}
});
函数检查器(){

如果(!($('.username')。长度>=2&&$('.username')。长度=8&&$('.password')。长度=8&&&$('.confirm')).length不使用javascript验证表单。请改用约束验证。也不要禁用“提交”按钮。在表单无效的状态下单击该按钮可反馈表单的错误,如果该按钮被禁用,则无法获取该按钮







if语句中对checker的调用似乎不正确。如果(!checker())是针对变量而不是函数进行检查,请尝试此操作。将其更改为
if(!checker())
$('.username')).length我从来没有遇到过约束验证,但这肯定是有帮助的。我也同意密码maxlength-我不知道为什么我会这样想。仍然需要使用js doe验证comfirm…但在更改事件或
表单时执行此操作。onsubmit
,从不在
按钮上执行。onclick