2012-05-04 7 views
2

私はdivをPHPウェブページに含めるようにしていますが、div内のリンクをクリックすると新しいウィンドウが開きます。div内のリンクを同じdiv内に開く

誰もこの問題を解決する方法を知っていますか?

divの代わりにiframeを使ってみましたが、他の問題が発生しました。

HTMLコード:

<div id="cover5"> 
    <div id="warning"> 
     <?php include 'SignIn.php'; ?> 
     <p align="center"> 
      <a href="#" onclick="javascript:cover5();">Home</a> 
     </p> 
    </div> 
</div> 

JSコード:あなたはajaxGET呼び出しを実行する必要がページ上の要素の中に特定のリンクからHTMLをレンダリングし、HTMLをロードするために

function cover5() { 
    var cover = document.getElementById('cover5'); 
    if (vis) { 
     vis = 0; 
     cover.style.display='block'; 
    } 
    else { 
     vis = 1; 
     cover.style.display='none'; 
    } 
} 
+0

ユーザがあなたのインクルードされたコード内のリンクをクリックすると、新しいページがブラウザの中ではなく 'div#warning'内に読み込まれます。 – sp00m

+0

@ sp00m、はい正確に –

+1

ルックアップAJAX、それはあなたが必要なものです。 – KBN

答えて

2

を助け

$("a").click(function(){     //calls function when anchor is clicked 
    var link = $(this).prop("src");   //finds the link from the anchor 
    $.get(link,function(data, status, xhr){ //makes an ajax call to the page 
    $("#myDiv").html(data);     //replaces the html of #myDiv with the returned page 
    }); 
}); 

ホープあなたは、クライアント側とWebアプリケーションのサーバー側bitween区別をしなければなりません。

<?php include 'SignIn.php'; ?>は、<?php ?>のためにサーバー側のコマンドです。つまり、ユーザーはその行を正確に見ないでしょう。

あなたSignIn.phpファイルは、たとえば<a href="go-there.php">my link</a>のために含まれている場合、ユーザーはそれだけでインクルージョンの出力に含まを取得しますが、ユーザーがリンクをクリックすると、つまりは

<div id="warning"> 
    <a href="go-there.php">my link</a 
</div> 

は、彼のブラウザがこの<a />かのようにそれをロードしますでしょうあなたのHTMLコードの中に直接を書いて、新しいウィンドウで開いてください。

私はネイティブのJSを使用してそれを行う方法はありませんませんが、jQueryを使って、あなたはこのような何か試すことができます。

$(function() { 
    $("#warning a").each(function() { 
     $("#warning").load($(this).attr("href")); 
    }); 
}); 
1

。次に、divにレスポンスを挿入します。 jQueryのを使用して

0

HTMLコード:

<div id="cover5"> 
    <div id="links"> 
     <p align="center"> 
      <a href="#" onclick="javascript:cover5();">Home</a> 
     </p> 
    </div> 
    <div id="warning"> 
     <?php include 'SignIn.php'; ?> 
    </div> 
</div> 

とJSコード:

function cover5() { 
    var cover = document.getElementById('warning'); 
    if (vis) { 
     vis = 0; 
     cover.style.display='block'; 
    } 
    else { 
     vis = 1; 
     cover.style.display='none'; 
    } 
} 

ユーザーが「リンク」divのリンクをクリックするたびに、JS関数「」を呼び出します。は、あなたがそうすべてのリンクのフォームを非表示になりますときに、第2の時刻tのように div要素をworning へのリンクを追加しましたあなたのコードでdivの

『警告」

あなたがポップアップするjQueryのか、AJAXを使用することができます』そこ。

関連する問題