2012-03-14 4 views
0

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

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

  2. У меня есть элемент управления TextBox во всплывающем окне. Когда я открываю всплывающее окно 2 раза в 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()");

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

Спасибо заранее.

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

ответ

0

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

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

function OpenPopupTest() 
{ 
    $("#PanelTest").dialog('open') 
} 
+0

Спасибо вам большое. Это сработало. – user443305