Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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 返回多个函数的jQuery不';行不通_Javascript_Jquery_Validation - Fatal编程技术网

Javascript 返回多个函数的jQuery不';行不通

Javascript 返回多个函数的jQuery不';行不通,javascript,jquery,validation,Javascript,Jquery,Validation,我正在进行一个简单的表单验证,我有3个功能,其中我检查输入文本字段、一个选择字段和2个单选按钮。对于每个组,我都做了一个函数,所以有3个函数 我已经测试了自己的功能,他们正在工作。但是如果在我的脚本结束时,我将它们全部3个一起使用,那么其中只有一个有效 有人能告诉我需要做什么吗 // Form validation $(function() { function wz_validation() { var ok = true; $('input[vali

我正在进行一个简单的表单验证,我有3个功能,其中我检查输入文本字段、一个选择字段和2个单选按钮。对于每个组,我都做了一个函数,所以有3个函数

我已经测试了自己的功能,他们正在工作。但是如果在我的脚本结束时,我将它们全部3个一起使用,那么其中只有一个有效

有人能告诉我需要做什么吗

// Form validation
$(function() {
    function wz_validation() {
        var ok = true;

        $('input[validate="true"]').each(function() {
            if($(this).val() == '') {
                ok = false;
                $(this).addClass('red_border');
            }
            else $(this).removeClass('red_border');
        });

        return ok;
    }

    // Check Bank select box on checkout page
    function wz_val_select() {
        if($(".payment select")) {
            if($(".payment select option:selected").val() == "") {
                $(".payment select").addClass('red_border');
                return false;
            }
            else{
                $(".payment select").removeClass('red_border'); 
                return true;
            }
        }
    }

    function wz_radio_shipping() {
        var form = $("#shipping_form");
        if(form.length) {
            if(form.find('input[name=wz_shipping]:checked').length == 0) {
                $("#checkout_shipping").addClass('red_border');
                return false;   
            }
            else{
                $("#checkout_shipping").removeClass('red_border');
                return true;    
            }
        }
    }

    var wz_form = $('#wz_form1, #wz_form2, #wz_form3, #wz_form7');

    $(wz_form).submit(function() {
        return wz_validation() && wz_radio_shipping() && wz_val_select();
    });
}); 
&&
是一个运算符。当
a
错误时,它防止在
a和&b
中对
b
求值

如果要调用所有三个函数,即使其中一些函数返回
false
,并且如果只返回布尔值,请使用
&
。由于
生成
0
1
,您可能希望使用
将结果转换为布尔值

    return !!(wz_validation() & wz_radio_shipping() & wz_val_select());
您可能还希望更明确地编写它:

$(wz_form).submit(function(e) {
    var good = true;
    good &= wz_validation();
    good &= wz_radio_shipping();
    good &= wz_val_select();
    if (!good)  e.preventDefault();
});
&&
是一个运算符。当
a
错误时,它防止在
a和&b
中对
b
求值

如果要调用所有三个函数,即使其中一些函数返回
false
,并且如果只返回布尔值,请使用
&
。由于
生成
0
1
,您可能希望使用
将结果转换为布尔值

    return !!(wz_validation() & wz_radio_shipping() & wz_val_select());
您可能还希望更明确地编写它:

$(wz_form).submit(function(e) {
    var good = true;
    good &= wz_validation();
    good &= wz_radio_shipping();
    good &= wz_val_select();
    if (!good)  e.preventDefault();
});

检查这个:-你可能必须一个接一个地加载。检查这个:-你可能必须一个接一个地加载。对于我们这些(像我一样)没有意识到这是在Javascript中的人:好的,但问题是如果我使用“&”函数,它们会执行任务并给出错误,但表单总是提交。所以我把函数放在一个if语句中,并说:if(functions&…&)返回true,else返回false。但是现在表单永远不会提交..上次编辑时我也遇到了同样的问题。函数完成了它们的工作,但我不能再提交了。@Robbert你确定这三个函数返回真值吗?@dystroy嗯,我不是jQuery中的英雄,但我认为它们返回真值。有没有什么方法可以让我100%地检查这个问题?对于我们这些(像我自己)没有意识到这是在Javascript中的人来说:好吧,但问题是如果我使用“&”函数,它们会执行任务并给出错误,但表单总是提交。所以我把函数放在一个if语句中,并说:if(functions&…&)返回true,else返回false。但是现在表单永远不会提交..上次编辑时我也遇到了同样的问题。函数完成了它们的工作,但我不能再提交了。@Robbert你确定这三个函数返回真值吗?@dystroy嗯,我不是jQuery中的英雄,但我认为它们返回真值。有没有办法让我100%检查一下?