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