2011-04-06 108 views
0

我想通过jQuery提交表单。所以如果有错误,表单将不会提交,如果每件事情都是正确的,那么表单将被提交。发生了什么错了?

cForm.bind("submit", function(e){ 
    if(validateName(e, cinputName) & validateEmail(e, cinputEmail) & validateMessage(e, cinputMessage)) { 
     ajaxSend(cForm, cresponseText, cloadingImage); 
       return true; 
     }; 
     else 
     return false; 
    }); 
+0

然后是什么问题? – 2011-04-06 13:33:32

+0

表格在哪里? “validate”函数的代码是什么?而且,抛出了什么错误? – Zakaria 2011-04-06 13:34:46

回答

2

看上面的例子,你甚至不需要else语句。我已删除了,并在那里额外;

cForm.bind("submit", function(e) { 
    if (validateName(e, cinputName) & validateEmail(e, cinputEmail) & validateMessage(e, cinputMessage)) { 
     ajaxSend(cForm, cresponseText, cloadingImage); 
     return true; 
    } 
    return false; 
}); 
3

有前else

+0

是的,现在它的权利..实际上我想要使用此代码提交表单使用Ajax和显示消息。如果错误然后显示错误... – 2011-04-06 13:43:21

2

没有测试过这一点,但在此之前的“其他”删除分号,它看起来不正确的额外;

+0

Thanx ...很多..现在它的工作。 – 2011-04-06 13:39:16

1

这就是为什么我们有压痕和编码标准,用来表示节目的分拆:

清理你的代码,以帮助发现错误:

​​

你被虚假的关键字后省略了一个丢失了你的条件括号,你也用单&迹象,其中作为其&&

+0

是的你是对的,但是当包含&&时,它将只显示第一个错误。并通过单一的工作正常。 – 2011-04-06 13:57:21

+0

事情是,它正在工作,它只是你的函数正在回应一个虚假的值,使用'&'是为了将二进制值转移到周围,这与逻辑解释如真和假没有关系,例如'1^1 &2'将评估为1,这不是真的。 – RobertPitt 2011-04-06 14:04:55