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