在我的網頁(例如Link1:http://localhost:8086/MyStrutsApp/login.do)中有幾個鏈接。當用戶點擊其中一個鏈接時,他會被帶到另一個頁面(例如link2:http://localhost:8086/MyStrutsApp/AddBook.jsp)以填充html表單。在同一頁面上顯示頁面數據而不轉發給其他頁面
現在我想實現的是,當任何用戶點擊鏈接時,該HTML表單(Link2)顯示在同一頁面上(即Link1)。
我不知道如何做到這一點。
在我的網頁(例如Link1:http://localhost:8086/MyStrutsApp/login.do)中有幾個鏈接。當用戶點擊其中一個鏈接時,他會被帶到另一個頁面(例如link2:http://localhost:8086/MyStrutsApp/AddBook.jsp)以填充html表單。在同一頁面上顯示頁面數據而不轉發給其他頁面
現在我想實現的是,當任何用戶點擊鏈接時,該HTML表單(Link2)顯示在同一頁面上(即Link1)。
我不知道如何做到這一點。
的AJAX的方式來實現這一目標是:
如果你想使用Dojo的HTML頁面看起來像這樣:
<!-- main content -->
<div id="leftpanel">
<h3>This content will be replaced</h3>
You can <a href="#" onClick="updateFromURL('/MyStrutsApp/AddBook.jsp)">add a book</a>
</div>
的JavaScript代碼是這樣的:
<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dojo/dojo.xd.js" type="text/javascript"></script>
<script type="text/javascript">
function display_wait(s) {
var mainPanel=dojo.byId("leftpanel");
mainPanel.innerHTML='<div class="waitingmsg">'+s+'</div>';
}
function updateFromURL(url) {
display_wait("loading content");
dojo.xhrGet({url:url,
load:function(result) {
dojo.byId('leftpanel').innerHTML=result;
}});
}
</script>
(正如貝尼特斯所說,你可以使用相同的技術在對話框中顯示新零件)
如果你可以看看這個[鏈接](http://pastebin.com/CHGVS81r)和[鏈接](http://pastebin.com/0QxbLhrU)我使用了urs腳本,但是當我點擊'add一本書我想(這個內容將被替換)文本被替換爲form2.html數據,即它的html格式,但它沒有發生... – RanRag 2011-06-12 12:03:37
plz幫助其實是一個noob ...在JavaScript ..... – RanRag 2011-06-12 12:06:38
它適用於我 - 您需要通過HTTP服務器加載HTML文件,但是,如果您只是將瀏覽器指向文件URL,則不起作用。 (你可以使用類似「python -m SimpleHTTPServer」來簡單地從當前目錄中提供文件,如果你只是想嘗試一下) – 2011-06-12 13:32:44
要在另一個頁面中顯示一個頁面,請使用iframe
。請參閱iframe docs。
,使外層頁面上的鏈接加載它的目標頁面進入iframe
,給iframe
一個name
屬性,並給出了鏈接匹配target
屬性。
您可以隨時使用jQuery顯示一個對話框...... http://jqueryui.com/demos/dialog/
獲取與AJAX頁面並將其顯示在對話框內。
爲什麼要這樣做?一個頁面,其中兩個不同的頁面具有不同的URL,更容易被人們理解,也是谷歌。 Thinka回合此頁面,例如,stackoverflow.com,以及不同的頁面如何具有不同的URL。 – vidstige 2011-06-12 10:23:22
@vistige:但是我們在這裏也有「添加評論」,它可以讓我們在不離開頁面的情況下添加評論,而且我們可以添加一個答案而不必進入新頁面。 – 2011-06-26 21:45:10