1. 程式人生 > >彈出對話方塊時,點選“取消”表單仍然提交的解決方法

彈出對話方塊時,點選“取消”表單仍然提交的解決方法

大家在實際工作中用js的時候可能會遇到這種情況:
confirm()彈出的對話方塊,當用戶點選“取消”的時候,表單仍然提交的問題;
一般來說這種問題產生的原因有一下幾點:
1:在判斷comfirm ()為“取消”的時候,我們沒有返回false;即:
if(!comfirm(“確定要提交表單嗎?”)){
     return false;
}
這種情況比較簡單,不是我今天談的重點,只要加入這句話就ok了
2:還有一種情況,當用戶點選“取消”的時候,並且已經return false的時候,仍然會提交表單(這是今天的重點)
   這種情況一般產生在按鈕的的onclick()時間中;產生的原因是:


   當點選按鈕的時候,在彈出確認()對話方塊之前,有很多的JS需要執行,而大家都知道:點選按鈕的時候,表單會自動提交的;所以,就沒有等到使用者點選“取消”按鈕,表單已經提交了,自然就不會管你有沒有點選“取消”了;
   解決方法:呵呵,相信大家最關心的還是這個,其實知道了原因就很容易解決了:只要
   在按鈕的onclick()事件的方法前面加一個return就ok了,這樣肯定會先等返回結果在提交表單了:
   例:
   <input type =“button”value =“電我吧!”onclick =“return
method()”>