1

ページAに、ユーザーをページBに移動させるリンクがあります。window.open()関数のようにjquery uiダイアログを使用して、ページAに影響を与えずにページBをポップアップ表示したい(例: <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に読み込む2番目の方法

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 に答える