Fancybox AJAX - как закрыть диалог после обратной передачи - PullRequest
0 голосов
/ 10 октября 2011

У меня есть ссылка на странице ShowData.aspx, на которой я звоню fancybox.

<a href="EditData.aspx" id="editLink">Edit Data</a>

Мой код JQuery:

$("#editLink").fancybox({
                        'opacity': true,
                        'overlayShow': true,
                        'transitionIn': 'elastic',
                        'transitionOut': 'none'                                                        
                    });

Форма EditData.aspx содержит кнопку сохранения.Моя проблема в том, что после того, как я нажимаю кнопку сохранения, диалоговое окно не закрывается.Кроме того, после сохранения на сервере страница клиента перенаправляется в EditData.aspx.

Ожидаемый результат - диалоговое окно закрывается, и я возвращаюсь на родительскую страницу (ShowData.aspx).

Спасибо!

Ответы [ 2 ]

0 голосов
/ 14 октября 2011

В итоге я использовал iFrame. Это похоже на работу.

MainPage.aspx

<div id="divClick"><iframe src="Postback.aspx"></iframe></div>

JQuery:

 $(function () {
       $("#divClick").dialog({
          modal: true,                
          title: 'iFrame Page',
          width: 500,
          height: 500
       });
   }); 

Плагины JQuery в Postback.aspx работают хорошо, а отправка сообщений назад не закрывает диалоговое окно и не перенаправляет главную страницу.

0 голосов
/ 14 октября 2011

Я удалил fancybox и обнаружил, что эта проблема также возникает с обычными диалогами JQuery.Если вы загрузите страницу, на которой есть кнопка «Отправить» (или сообщения, отправленные обратно), ваш диалог исчезнет, ​​а ваша главная страница будет перенаправлена ​​на страницу диалога.Вот простой тест:

HTML:

<div id="divClick"></div>

JQuery:

$(function () {
            $("#divClick").dialog({
                modal: true,
                open: function () {
                    $(this).load('Postback.aspx');
                },
                title: 'Ajax Page'
            });
        });   

Postback.aspx:

<body>
    <form id="form1" runat="server">
    <div>

    </div>
    Enter Name:
    <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
    </form>
</body>

Есть ли способприкрепить событие к обратной записи из диалогового окна?

Кроме того, я изменил Postback.aspx, добавив в него jscolor.js (плагин JQuery), чтобы посмотреть, будет ли он работать, он не работает.Кажется, что любая функциональность JQuery не работает в диалоге.

...