我有一個表單彈出確認對話框(您是否想繼續),現在它彈出,但表單正在同時發送給我的控制器,它開始無論你點擊是或否,處理。如何在顯示/選擇javascript確認後暫停表單提交。確認暫停表單提交,直到Ok出現
@using (Html.BeginForm("Process", "Home", FormMethod.Post,
new { id ="MyForm" })) {
@Html.TextBoxFor(m => m.Name);
// other form controls...
<input id="Submit" type="submit" value="Apply Changes" />
}
的javascript:(使用jquery-UI)
$(function() {
$("#Confirm").dialog({
autoOpen: false,
buttons: {
"Ok": function() {
$(this).dialog("close");
$('#MyForm').submit();
return true;
},
Cancel: function() {
$(this).dialog("close");
event.preventDefault();
return false;
}
}
});
$("#Submit").click(function() {
$("#Confirm").dialog("open");
});
});
雖然這會工作,爲什麼還要有一個提交按鈕,如果你只是帶走提交按鈕的功能? – Rob
這不會消除提交按鈕的功能嗎?這樣做*保留*默認行爲,方法是通過按下輸入按鈕或單擊提交按鈕來提交表單,兩者都會得到一個確認對話框。如果您使用按鈕單擊來完成該工作,則在輸入上按Enter將繞過確認對話框。 –
確實如此,您可以調用e.preventDefault()來取消事件並提交表單。那麼你只需打開模式?爲什麼不用常規按鈕打開模式,如果用戶點擊「確定」,則使用$('#MyForm')。submit()提交表單。 – Rob