我有一个窗体,现在会弹出一个确认对话框(您要继续),但它同时发送给我的控制器,无论您单击是还是否,该窗体都会开始处理。如何暂停表单提交,直到显示/选择javascript确认之后。
@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");
});
});
最佳答案
立即阻止默认操作,然后按“确定”按钮触发提交。
$(function () {
$("#Confirm").dialog({
autoOpen: false,
buttons: {
"Ok": function() {
$(this).dialog("close");
$('#MyForm')[0].submit();
},
Cancel: function() {
$(this).dialog("close");
}
}
});
$("#MyForm").submit(function (e) {
e.preventDefault();
$("#Confirm").dialog("open");
});
});
关于jquery - 确认暂停表单提交,直到按下确定,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17238994/