Диалоговое окно jQuery UI с модальным повторным отображением не может редактировать текст

#jquery-ui #jquery-ui-dialog

#jquery-ui #jquery-ui-dialog

Вопрос:

У меня есть div:

 <div id="mproEmailAccountPopUp"></div>
  

Я объявляю диалог

 var popupdiv = $( '#mproEmailAccountPopUp' );
popupdiv.dialog({
    width: 650,
    autoOpen: false,
    modal: false
});
  

Затем я получаю некоторые данные html-формы (это работает нормально) с сервера и обновляю содержимое диалога:

 function ShowEdit(accountId) {

    $.ajax({
        type: "POST",
        async: false,
        url: "<%=EmailHandler %>?action=GetEmailAccountEdit",
        data: { accountId: accountId },
        success: function (result) {
            alert("Success GetEmailAccountEdit");

            popupdiv.html(result);
            popupdiv.dialog("open");
            //popupdiv.dialog( "moveToTop" )

        }
    });
}
  

В первый раз это работает прекрасно, но если вы нажмете кнопку закрытия, а затем вызовете функцию. Диалоговое окно обновлено новым HTML, но вы не можете ввести ни в одно из текстовых полей. Я сузил его до модального наложения (поскольку оно работает с modal: false). Похоже, что z-индекс на 1 меньше, чем модальная форма, и я даже удалил (через firebug) модальный оверлейный div, но я все еще не могу редактировать текстовые поля.

Если я включу modal: false, тогда он работает нормально, modal: true вызывает эти проблемы.

Как вы можете видеть, я пробовал метод «moveToTop», никакого эффекта.

Я также попытался уничтожить всплывающее окно и полностью повторно инициализировать его из функции ShowEdit.

У кого-нибудь есть какие-либо подсказки о том, что я могу сделать, чтобы исправить это?

Комментарии:

1. Где текстовые поля? … и какой HTML-код вы пытаетесь вставить в диалоговое окно?

2. Просто для завершения, это было вызвано загрузкой нескольких версий вышеупомянутого кода, и всплывающее окно было применено к нескольким разделам. Как только имена были сделаны уникальными, все заработало нормально.

3. он загружал ту же форму из Asp.net с помощью вызова веб-сервиса. Та же форма, разные данные (пользовательские вкладки j-query), но при загрузке формы из веб-сервиса, ASP.NET не знает контекста страницы и, следовательно, не смог сделать идентификатор уникальным, фактически, он каждый раз выдавал им одни и те же идентификаторы…