IE6上的弹出窗口拦截器标记错误

时间:2012-01-12 09:56:06

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

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

我正在使用jquery 1.5.2,jquery validate plugin和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);
}

1 个答案:

答案 0 :(得分:0)

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

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