jQuery表单不提交,即使它返回true

时间:2015-11-27 14:48:56

标签: javascript jquery forms

嗨,盖伊,我有这个验证表格。

问题是即使标志返回true它仍然不会提交表单。 我认为这段代码仍然可以改进,但我在jquery中的知识是有限的

function validate_form() {
    var lesson_prefference = document.getElementById('Contact0_NewClubDropdown').value;
    var flag = false;

    if(lesson_prefference!=""){
        jQuery('#dropdown_err_msg_prefference').addClass('hidden');
        flag = !flag;       
    }

    else{
        jQuery('#dropdown_err_msg_prefference').removeClass('hidden');
        jQuery('html, body').animate({
            scrollTop: jQuery(".top-warning").offset().top}, 1000);   
        flag = !flag;

    }

    if (jQuery('#agreeCheckbox').is(':checked') ) {
        jQuery('#err_msg_prefference').addClass('hidden');
        flag = !flag;
    } 
    else {
        jQuery('#err_msg_prefference').removeClass('hidden');
        jQuery('html, body').animate({
            scrollTop: jQuery(".top-warning").offset().top}, 1000);
        flag = !flag;
    }   
    if (flag) {
        return true;
    }
    else {
        return false;
    }
}

2 个答案:

答案 0 :(得分:1)

function validate_form() {
    var lesson_prefference = document.getElementById('Contact0_NewClubDropdown').value;
    var flag = true;

    if(lesson_prefference!=""){
        jQuery('#dropdown_err_msg_prefference').addClass('hidden');     
    }

    else{
        jQuery('#dropdown_err_msg_prefference').removeClass('hidden');
        jQuery('html, body').animate({
            scrollTop: jQuery(".top-warning").offset().top}, 1000);   
        flag = false;

    }

    if (jQuery('#agreeCheckbox').is(':checked') ) {
        jQuery('#err_msg_prefference').addClass('hidden');
    } 
    else {
        jQuery('#err_msg_prefference').removeClass('hidden');
        jQuery('html, body').animate({
            scrollTop: jQuery(".top-warning").offset().top}, 1000);
        flag = false;
    }   

    return flag;
}

答案 1 :(得分:0)

从我的角度来看,一旦表单出现偶数错误,就会出现逻辑问题:第二个flag = !flag即使出现错误也会将false变为true

更好:

function validate_form() {
    var lesson_prefference = document.getElementById('Contact0_NewClubDropdown').value;
    var errorflag = false;

    if(lesson_prefference!=""){
        jQuery('#dropdown_err_msg_prefference').addClass('hidden');      
    }

    else{
        jQuery('#dropdown_err_msg_prefference').removeClass('hidden');
        jQuery('html, body').animate({
            scrollTop: jQuery(".top-warning").offset().top}, 1000);   
        errorflag = true;
    }

    if (jQuery('#agreeCheckbox').is(':checked') ) {
        jQuery('#err_msg_prefference').addClass('hidden');
    } 
    else {
        jQuery('#err_msg_prefference').removeClass('hidden');
        jQuery('html, body').animate({
            scrollTop: jQuery(".top-warning").offset().top}, 1000);
        errorflag = true;
    }   

    return !errorflag;
}