2011-04-06 178 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