我在MVC3项目中有一个ajax表单。我想在提交按钮上有一个javascript确认弹出窗口。 我可以通过多种方式使弹出窗口显示,但如果用户选择取消按钮,我无法阻止提交执行。
这样做的最佳方式是什么?
我尝试使用以下js ...
function showWarning(e) {
var answer = confirm('message');
if (answer) {
return true;
}
return false;
}
但由于ajax的异步性质,如果不起作用。
我不是自己写ajax电话。我正在使用像这样的ajax.begin表单助手......
using (Ajax.BeginForm("LinkName", "Account", null, new AjaxOptions { UpdateTargetId = "divLinkName", HttpMethod = "POST" }, new { @id="formLinkName" }))
{
<div class="row">
<div class="large-12 columns">
<div class="editor-label">
@Html.LabelFor(m => m.LinkName)
@Html.TextBoxFor(m => m.LinkName)
@Html.ValidationMessageFor(m => m.LinkName)
<input type="submit" value="Set my Link Name" class="button radius small" />
</div>
</div>
</div>
}
有没有人有任何想法?
谢谢
答案 0 :(得分:0)
这对我有用(它在Ajax.BeginForm(new AjaxOptions())中):
<input type="submit" onclick="if (!confirm('Message')) return false;" />
答案 1 :(得分:0)
绑定一个函数onSubmit事件的形式。
using (Ajax.BeginForm("LinkName", "Account", null, new AjaxOptions { UpdateTargetId = "divLinkName", HttpMethod = "POST" }, new { @id="formLinkName",onsubmit="return takeconfirmation()" }))
在javascript中添加takeconfirmation函数:
function takeconfirmation(){
return confirm('Are you sure');
}