Ошибка разметки блокировщика всплывающих окон в IE6 - PullRequest
0 голосов
/ 12 января 2012

В asp.net MVC 3 у меня есть страница, где есть две формы. Они содержат ярлыки, текстовые поля и выпадающие списки. В IE6 в форме подведения итогов (при успешной отправке необходимо открыть новое окно, после отправки - действие ajax) появляется уведомление о блокировке всплывающих окон. Когда появляется уведомление (или иногда после закрытия уведомления в верхней части окна, возможно, из-за кеша) все содержимое в формах, кроме выпадающих списков (!?), исчезает. Он частично появляется после того, как вы сфокусировались на выпадающих меню, а затем щелкнули место, где должен быть размещен другой контент.

Я использую jquery 1.5.2, плагин проверки jquery и 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 голосов
/ 12 января 2012

Поскольку я не вижу весь код, я пойду на догадку. Я думаю, что страница пытается POST к своему текущему местоположению. Этот вид обновляет страницу, но не полностью. Это может быть то, что вы испытываете при удалении контента из текстовых полей.

Если это так, вам нужно будет запретить отправку кнопки отправки, когда ожидается это всплывающее окно. Вы можете сделать это, вызвав stopPropagation для события или вернув false из функции, которая выполняется при нажатии кнопки. Предпочитайте метод stopPropagation, если у вас есть доступ к событию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...