MVC3 ajax表单确认javascript弹出窗口

时间:2013-10-11 11:02:21

标签: javascript ajax asp.net-mvc-3

我在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>
    }

有没有人有任何想法?

谢谢

2 个答案:

答案 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');
}