1

我的页面 A 中有一个链接,它将把用户带到页面 B。我希望页面 B 弹出而不影响我的页面 A,使用 jquery ui 对话框,就像 window.open() 函数一样(例如: <a href="" onclick="window.open('abc.php','', 'width=100, height=100, location=no, menubar=no, status=no,toolbar=no, scrollbars=no, resizable=no'); return false"> ABC </a>
我在页面中有这个A:

<a href="abc.php">link to page B  </a> 

我在 B 页有这个:

<script>
    $(function() {
        //$( "#dialog" ).dialog();
        $( "dialog:ui-dialog" ).dialog( "destroy" );

        $( "#dialog" ).dialog({
            height: 500,
            width: 740,
            modal: true
            });
    });
    </script>
<div id="dialog">
//code for form of page B

</div>

我的问题是内容显示在对话框内,但不是弹出窗口。该对话框仅作为对话框显示在浏览器的窗口中。基本上,页面 A 被页面 B 替换。但是当用户单击页面 A 上的链接时,我希望页面 B 弹出。
有人知道该怎么做吗?非常感谢。

4

1 回答 1

4

您可以在 pageA 上创建一个 javascript 函数,如下所示

function showUrlInDialog(url){
  var tag = $("<div></div>");
  $.ajax({
    url: url,
    success: function(data) {
      tag.html(data).dialog({modal: true}).dialog('open');
    }
  });
}

将页面加载到 iframe 的第二种方法

function showUrlInDialog(url){
  var tag = $("<div></div>");
  tag.html('<iframe style="border: 0px; " src="' + url + '" width="100%" height="100%"></iframe>').dialog({modal: true}).dialog('open');
  
}

现在在你的锚标签上调用这个函数,如下所示

<a href="#" onclick="showUrlInDialog('abc.php'); return false;">link to page B</a>

在页面 B 上只保留您的表单或 html 代码

<div>
//code for form of page B

</div>
于 2012-10-02T10:25:59.300 回答