使用多个“if else”语句,如果表单都返回true,您如何提交表单?

时间:2013-05-17 06:03:08

标签: jquery forms if-statement submit

我有一个密码强度验证要求列表,以帮助用户设置密码,并将其分成几部分,以便我可以在用户在密码输入框中输入有效值后将每个要求标记为“有效”。 (因此,如果他们输入的密码超过7个字符,密码长度要求通知会变为绿色等)。这很有效。

现在,我想说,如果所有'if'语句都有效,请允许提交表单,否则不要。阅读后,我已经尝试通过设置变量retVal = true来实现这一点,但我不太清楚如何使用它,所以到目前为止我的尝试失败了。我还考虑过做一些事情,如果所有要求都有类有效,那么允许表单提交,但这似乎不正确吗?

$('#form-password-change #input-password').keyup(function() {

    // set password variable

    var pwd = $(this).val();

    // validate the length

    if (pwd.length > 7) {
        $('#length').removeClass('invalid').addClass('valid');
    } else {
        $('#length').removeClass('valid').addClass('invalid');
    }

    // RegExp
    // validate letter

    if ( /([^a-z]*[a-z]){3,}/i.test(pwd) ) {
        $('#letter').removeClass('invalid').addClass('valid');
    } else {
        $('#letter').removeClass('valid').addClass('invalid');
    }
});

2 个答案:

答案 0 :(得分:2)

试试这个: -

$('#form-password-change #input-password').keyup(function() {

var IsTrue=true;

// set password variable

var pwd = $(this).val();

// validate the length

if (pwd.length > 7) {
    $('#length').removeClass('invalid').addClass('valid');
} else {
    $('#length').removeClass('valid').addClass('invalid');
   IsTrue=false;
}

// RegExp
// validate letter

if ( /([^a-z]*[a-z]){3,}/i.test(pwd) ) {
    $('#letter').removeClass('invalid').addClass('valid');
} else {
    $('#letter').removeClass('valid').addClass('invalid');
   IsTrue=false
}
return IsTrue;
});

答案 1 :(得分:2)

试试这个:

$('#form-password-change #input-password').keyup(function() {

    // set password variable

    var pwd = $(this).val();

    var truetest = 1;
    // validate the length

    if (pwd.length > 7) {
        $('#length').removeClass('invalid').addClass('valid');    
    } else {
       $('#length').removeClass('valid').addClass('invalid');
        truetest = 0;
    }

    // RegExp
    // validate letter

    if ( /([^a-z]*[a-z]){3,}/i.test(pwd) ) {
         $('#letter').removeClass('invalid').addClass('valid');
    } else {
        $('#letter').removeClass('valid').addClass('invalid');
        truetest = 0;
    }

    if(truetest)
    {
        //Do your stuff here
    }
});