Fancybox AJAX - 如何在回发后关闭对话框

发布于 2024-12-08 23:47:41 字数 615 浏览 0 评论 0原文

我的 ShowData.aspx 页面上有一个链接,我在该链接上调用 fancybox。

编辑数据

我的 JQuery 代码是:

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

表单 EditData.aspx 包含一个保存按钮。我的问题是,单击“保存”按钮后,对话框不会关闭。此外,在服务器上执行保存后,客户端页面重定向到 EditData.aspx。

预期的结果是对话框关闭并且我返回到父页面 (ShowData.aspx)。

谢谢!

I have a link on my ShowData.aspx page that I'm calling fancybox on.

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

My JQuery code is:

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

The form EditData.aspx contains a save button. My problem is that after I click the save button the dialog does not close. Furthermore, after the save is performed on the server the client page redirects to EditData.aspx.

The expected outcome is that the dialog closes and I am returned to the parent page (ShowData.aspx).

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

看海 2024-12-15 23:47:41

我删除了 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 功能似乎都无法在对话框中使用。

I removed fancybox and found that this issue also occurs with regular JQuery dialogs. If you load a page that has a submit button (or posts back in any way) then your dialog will disappear and your main page will redirect to the dialog page. Here's a simple test:

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>

Is there a way to attach an event to the postback from the dialog?

Furthermore, I modified Postback.aspx to include jscolor.js (a JQuery plugin) to see if it would work, it did not work. Any JQuery functionality doesn't seem to work in a dialog.

涙—继续流 2024-12-15 23:47:41

我最终使用了 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
       });
   }); 

Postback.aspx 中的 JQuery 插件运行良好,回发不会关闭对话框并重定向主页。

I ended up using an iFrame. This seems to do the job.

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 plugins in Postback.aspx work well and posting back doesn't close the dialog and redirect the main page.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文