如何使用JavaScript确认对话框菜单触发表单提交事件

时间:2014-10-01 13:31:03

标签: javascript jquery asp.net-mvc jquery-ui

运行代码时,屏幕上会出现confirmDialog菜单。 看到'您确定之后? '在confirmDialog菜单上,我按OK。 但是,按OK 不会触发控制器中的操作( DoDelete )。

我的代码在以下

我使用BeginForm,如下所示。

@using (Html.BeginForm("DoDelete", "Ekranlar", FormMethod.Post))
{
                        |
                        |

 <input type="submit" class="confirmDialog" value="Delete" />    
}

Html部门

<div id="dialog-confirm" style="display: none">
    <p>
        <span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
        Are you sure ?
    </p>
</div>

脚本如下。

<script type="text/javascript">
    $(document).ready(function () {
        $(".confirmDialog").on("click", function (e) {
            // e.preventDefault(); use this or return false
            var url = $(this).attr('href');
            $("#dialog-confirm").dialog({
                autoOpen: false,
                resizable: false,
                height: 170,
                width: 350,
                show: { effect: 'drop', direction: "up" },
                modal: true,
                draggable: true,
                buttons: {
                    "OK": function () {
                        $(this).dialog("close");
                        window.location = url;
                    }, "Cancel": function () {
                        $(this).dialog("close");
                    }
                }
            });
            $("#dialog-confirm").dialog('open');
            return false;
        });
    });
</script>

1 个答案:

答案 0 :(得分:1)

你可以做$(&#34; .confirmDialog&#34;)。最接近(&#39;形式&#39;)。submit();

buttons: {
                    "OK": function () {
                        $(".confirmDialog").closest('form').submit();
                        $(this).dialog("close");
                        window.location = url;
                    }, "Cancel": function () {
                        $(this).dialog("close");
                    }
                }