javascript - 在没有 AJAX 的 jquery 提交调用之前执行 JavaScript 的方法?

标签 javascript jquery asp.net-mvc

我有一个 JQuery UI 模式,如果存在某些限定符,它会呈现部分 MVC View 。在我的 JavaScript 中,我只希望在模式完成后提交表单。这是我的:

$('#btnSaveAndSend').click(function (e) {
        var result = _fieldsAreValid($('#validation').val() === "y");

        if (result) {

            if (showPrompt) {
                $('#divPrompt').dialog({
                    autoOpen: true,
                    width: 500,
                    height: 225,
                    modal: true,
                    draggable: false,
                    resizable: false,
                    title: "Modal",
                    open: function (event, ui) {
                        $(this).load("/Home/SendEmail");
                    }
                });
            }
            $("#form").submit();               
        }
    });

如果没有 AJAX,有什么办法可以做到这一点吗?

最佳答案

使用 promise让 parent 检查其完成情况应该可以解决问题。尝试用这个替换你的open:

open: function (event, ui) {
    $(this).parent().promise().done(function () {
       $("#form").submit();
    });
}

关于javascript - 在没有 AJAX 的 jquery 提交调用之前执行 JavaScript 的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37734188/

相关文章:

c# - ASP.NET 刷新 UpdatePanel OnClientClick

javascript - 从node.js发送命令到AVR

javascript - jstree 在打开分支时关闭其余分支

c# - Monodevelop 中的 MySQL ASP.NET MVC

jquery - 将数组从 jQuery 传递到 MVC.NET Controller ,在 Controller 上给出 null 结果,但 jQuery 函数上存在值

asp.net-mvc - 我们可以在asp.net MVC 的 View 中获取 session 值吗?

javascript - Accounts.createUser 问题。如何使电子邮件字段不唯一?

javascript - 如何在两个数字之间的范围内动态创建不同的步长

javascript - 如何在数据库更新时向客户端发送警报,例如 Facebook 聊天

javascript - 如果隐藏所有子 Div,如何隐藏父 DIV(显示 :none)