如何在提交前显示对话框?

Posted

技术标签:

【中文标题】如何在提交前显示对话框?【英文标题】:How can I show a dialog before submitting? 【发布时间】:2015-08-10 14:36:31 【问题描述】:

我有一个带有提交按钮的表单,我想在继续提交表单之前显示一个对话框。

下面的代码正确显示了对话框,但它仍然继续提交:

@using (html.BeginForm("SubmitForm", "Home", FormMethod.Post, new  id = "form" ))

    @Html.AntiForgeryToken()
    *snip*

    <div class="collapseClosed panel-footer panel-collapse collapse in">
        <input type="submit" name="btnSubmit" id="btnSubmit" class="btn btn-success" value="Submit" />
    </div>

<div id="confirm" title="Confirm">
    <span id="confirmtext"></span>
</div>

<script>
    $("#btnSubmit").on("click", function () 
        currentForm = $(this).closest('form');
        $("#confirmtext").text("Please confirm.");
        $("#confirm").dialog('open');
    );
</script>

【问题讨论】:

【参考方案1】:

需要在JQuery点击事件中添加e.preventDefault();防止提交。

<script>
    $("#btnSubmit").on("click", function (e) 
        e.preventDefault();
        currentForm = $(this).closest('form');
        $("#confirmtext").text("Please confirm.");
        $("#confirm").dialog('open');
    );
</script>

【讨论】:

【参考方案2】:
<script>
    $("#btnSubmit").on("click", function (e) 
        e.preventDefault();
        currentForm = $(this).closest('form');
        $("#confirmtext").text(Please confirm.");
        $("#confirm").dialog('open');
    );
</script>

【讨论】:

仅代码不足以帮助 OP!描述你在做什么

以上是关于如何在提交前显示对话框?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Jquery 对话框表单提交中调用父页面上的回发?

如何将确认对话框添加到 html5 表单中的提交按钮?

如何在 Redux 中显示一个执行异步操作的模态对话框?

打印前显示打印对话框

提交表单后显示模式对话框

如何在jqgrid中显示信息对话框设置位置中心