Диалог JQuery не открывается в один клик - PullRequest
0 голосов
/ 14 марта 2012

Я открываю диалог jquery по нажатию кнопки. Я открываю панель как диалог.В этой панели есть iframe, и в этом iframe src я назвал новую страницу.Всплывающее окно открывается правильно в первый раз.Я закрываю всплывающее окно и нажимаю кнопку, чтобы снова открыть всплывающее окно.Когда я открываю всплывающее окно во второй раз, я сталкиваюсь с 2 проблемами

  1. Если я нажимаю на кнопку, всплывающее окно в первый раз не открывается.Если я снова нажму кнопку 2 раза, откроется всплывающее окно.Всплывающее окно открывается при втором щелчке, но не при первом.Я не могу выяснить, почему всплывающее окно не открывается при одном щелчке, а открывается при двойном щелчке.

  2. У меня есть элемент управления TextBox во всплывающем окне.Когда я открываю всплывающее окно во второй раз в IE, этот элемент управления TextBox находится в отключенном состоянии.Если я запускаю какое-либо событие на стороне сервера на этой странице, например, нажатие кнопки, то этот элемент управления TextBox включается.В то время как в Mozilla Firefox он работает правильно.Этот элемент управления TextBox всегда находится во включенном состоянии.

Пожалуйста, дайте мне знать, как я могу решить эту проблему.

Моя функция jquery выглядит следующим образом

function OpenPopupTest()
{
    $("#PanelTest").dialog(
    {                    
        minWidth: 500,
        minHeight: 500
    });
}

Я вызываю следующую панель

<asp:Panel ID="PanelTest" runat="server" Style="display: none; background-color: White;
    font-size: 12px;">
    <div id="DivTst" style="text-align: left; margin-top: 20px; margin-left: 10px">
        <iframe id="iframeTest" src="Test1.aspx" height="400px" width="400px"></iframe>
        <br />
    </div>
</asp:Panel>

<button ID="ButtonTest" runat="server" Value="Open Popup" />

Эта кнопка находится внутри панели обновления.

В коде, указанном для атрибута botton, я вызываю функцию javascript.ButtonTest.Attributes.Add ("onclick", "OpenPopupTest ()");

Любая помощь будет принята с благодарностью.

Заранее спасибо.

С уважением, Рахул Рати

1 Ответ

0 голосов
/ 14 марта 2012

Ваш подход к диалогу неверен.Для многоразового диалога вы хотите инициализировать его при загрузке страницы, а затем использовать вашу кнопку только для его открытия

/* initialize dialog on page load*/
$(function(){
    $("#PanelTest").dialog(
    {                    
        minWidth: 500,
        minHeight: 500,
        autoOpen: false
    });    
});

function OpenPopupTest()
{
    $("#PanelTest").dialog('open')
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...