$('form').submit(function() {
alert($(this).serialize());
return false; // return true;
});
返回false
和true
之間的表單提交功能有什麼區別?這裏返回true或false的區別是什麼?
$('form').submit(function() {
alert($(this).serialize());
return false; // return true;
});
返回false
和true
之間的表單提交功能有什麼區別?這裏返回true或false的區別是什麼?
如果您從提交事件返回false
,則不會發生普通頁面表單POST。
return false
,不要執行窗體的默認操作。 return true
,執行窗體的默認操作。
這也是好做
$('form').submit(function(e) {
alert($(this).serialize());
e.preventDefault();
});
差不多。你忘了'stopPropagation'。 – 2011-05-12 13:10:56
return false; // cancel submit
return true; // continue submit
如前所述,返回false停止從 「冒泡」 的事件。如果您想了解詳細信息,請查看bind()
的API文檔:http://api.jquery.com/bind/。
「從處理程序返回false等同於在事件對象上調用.preventDefault()和.stopPropagation()。」
return true;是「默認」 - 它會繼續。如果你把回報假;然後它退出函數並告訴調用者FALSE並停止。真的不停止..你看。在這種情況下沒有人使用返回true。但是使用return false;例如,如果您想要點擊來停止執行正常行爲,那麼這很好。就像在你的提交會做警報 - 但停止後,不發送數據.. – ppumkin 2011-05-12 13:00:35
@ppumkin:我不會說'返回true'是默認值。沒有'return'語句會返回'undefined'。更正確的是,如果返回值不是「false」,則提交事件正常處理。 – 2011-05-12 13:16:15
嗯。這就是爲什麼我說在引號「」。但根據定義,布爾值只有2個狀態。所以如果它不是虛假的話。當函數由調用者結束時,這將被測試。所以如果undefined被翻譯爲true ..那麼True就是「默認」值 – ppumkin 2011-05-12 13:18:48