【问题标题】:Popup blocker markup bug on IE6IE6 上的弹出窗口阻止程序标记错误
【发布时间】:2012-01-12 22:25:41
【问题描述】:

在 asp.net mvc 3 我有一个页面,其中有两种形式。它们包含标签、文本框和下拉菜单。在 IE6 上的 sumbiting 表单(成功提交时必须打开新窗口,提交是 ajax 发布操作)出现弹出窗口阻止程序通知。当通知出现时(或者有时在窗口顶部关闭通知后,这可能是因为缓存)除了下拉列表(!?)之外的所有表单内容都消失了。它在关注下拉菜单然后单击必须放置其他内容的位置后部分显示。

我正在使用 jquery 1.5.2、jquery validate 插件和 jquery.ajax。

提交按钮:

<div class="button">
    <input type="submit" value="Sumbit" />
</div>

回调:

    onSuccess: function (response) {
        var jsonResult = eval("(" + response.responseText + ")");
        hideStatusMessage();
        if (jsonResult.Success) {
            //StatusMessage is span that displays result of submit
            showStatusMessage(jsonResult.Message);
            redirectTo(jsonResult.RedirectTo);
        } else {
            // We got some error
            showStatusMessage(jsonResult.Message);
        }
    }

重定向:

var redirectTo = function (urlString) {
    var params =
        "width=" + screen.width + ", height=" + screen.height +
        ", top=0, left=0, fullscreen=yes, location=no";
    var newWin = window.open(urlString, '_blank', params, false);
}

【问题讨论】:

标签: jquery html asp.net-mvc-3 jquery-plugins internet-explorer-6


【解决方案1】:

因为我看不到整个代码,所以我有预感。我认为该页面正在尝试发布到其当前位置。这种刷新页面但不完全。这可能是您从文本框中删除内容时遇到的情况。

如果是这种情况,您需要阻止提交按钮在预期出现此弹出窗口时发布。您可以通过在事件上调用 stopPropagation 或通过在单击按钮时执行的函数返回 false 来执行此操作。如果您有权访问该事件,则首选 stopPropagation 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    • 2020-05-04
    相关资源
    最近更新 更多