2012-05-04 170 views
2

我試圖創建一個div,其中包含PHP網頁,但是當我點擊div中的任何鏈接時,它會在新窗口中加載。在同一個div中打開一個div裏的鏈接

有誰知道如何解決這個問題?

我也嘗試使用iframe而不是div,但它造成了其他問題。

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代碼:

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

你必須讓bitween客戶端和Web應用程序的服務器端的區別。

<?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

要從指定的鏈接呈現HTML,你需要運行一個ajaxGET調用頁面上的元素中,並加載HTML 。然後在你的div中插入迴應。

使用jQuery:

$("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 
    }); 
}); 

希望幫助

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函數「cover5()

您可以使用jQuery或AJAX,彈出‘警告’的div

在你的代碼添加了鏈接到worning格,以便在第二時間t時會隱藏所有的鏈接形式那裏。