【问题标题】:jQuery popup dialog close after AJAX not workingAJAX 不工作后 jQuery 弹出对话框关闭
【发布时间】:2012-11-15 12:52:50
【问题描述】:

我在论坛上发现了同样的问题,但无论如何都无法解决 我有一个登录表单。类似的东西:

 @using (Ajax.BeginForm("LogIn", "Account", null, new AjaxOptions
    {
        HttpMethod = "Post",
        UpdateTargetId = "result",
        InsertionMode = InsertionMode.Replace,
        LoadingElementId = "loginspinner",
        OnSuccess = "OnTryLogin"
    }, new { id = "loginform"}))
    {
        <div>
            <div class="editor-field">
                @Html.TextBoxFor(m => m.UserName, new { id = "loginusername"})
                @Html.ValidationMessageFor(m => m.UserName)
            </div>
..............................

我显示弹出窗口(部分视图),例如:

$.get(loginaction, function (data) {
            var div;
            var divId = '#popupforlogin';
            div = $(divId);
            $(div).html(data);
            $(div).dialog({
                modal: true,
                resizable: false,
                autoOpen: false,
            });
            $(div).dialog('open');
            // ....
}

我有:

function OnTryLogin(result) {
            if (result.success == true) {
                var fullPath = '@Url.Content("~/Account")' + '/LogOff';
                var userName = result.userName;
                $('#popupforlogin').dialog('close');
                //......
}

所以问题是dialog('close') 不工作。

我错在哪里了?

【问题讨论】:

  • is not working 不是解释——如果您收到任何错误消息,请添加某种错误消息。如果没有,请告诉我们您到目前为止是如何尝试调试的?
  • 我的意思是对话框保持打开状态,并且我在 firebug 控制台窗口中没有错误。当我调试时,它通过了一行“$('#popupforlogin').dialog('close');”没有任何错误

标签: jquery asp.net jquery-ui razor popup


【解决方案1】:

您实际上应该使用$('#popupforlogin').dialog({ autoOpen: false }); 来初始化它。然后你可以用$('#popupforlogin').dialog('open');打开对话框,$('#popupforlogin').dialog('close');关闭它。

来自here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 2012-02-05
    • 1970-01-01
    相关资源
    最近更新 更多