我目前使用jquery來捕獲表單的提交併顯示用戶確認對話框。如果用戶點擊是,則表單應提交。如果用戶單擊否,則關閉對話框。jquery陷阱表單提交()
這一切運作良好,但對一個問題:當用戶點擊是的,這再次觸發了相同的代碼,然後在對話框被重新打開。
$("#myform").submit(function (event) {
if (something) {
var $dialog = $('<div></div>').dialog({
buttons: {
"OK": function() {
$dialog.dialog('close');
$("#myform").submit();
return;
},
Cancel: function() {
$(this).dialog("close");
}
}
});
$dialog.dialog('open');
event.preventDefault();
return false;
} else {
$("#myform").submit();
}
});
我明白爲什麼會發生這種情況,只是不確定最佳的解決方法。我意識到我可以在按鈕單擊時顯示模式,而不是表單提交,但是這並不解決用戶敲擊鍵盤上的輸入按鈕以提交表單的問題。
非常有趣!我不認爲有一個明顯的方法,但我希望有人能證明我錯了!你嘗試過整合'preventDefault()'功能嗎? – 2012-01-30 15:09:46