2015-07-10 47 views
4

我有一個包含兩個按鈕兩個相同的HTML頁面(的index.htmlpage1.html)返回按鈕第二個按鈕就像後退按鈕一樣。 (理想情況下,您可以使用第一個按鈕來到第二個頁面,然後使用第二個頁面上的後退按鈕返回到第一個頁面。)使用JavaScript/jQuery的

我使用JavaScript來控制它(僅適用於index.html的按鈕,但page1.html JS是相同的):

$(document).on('click', '#submit', function() { 
    $(":mobile-pagecontainer").pagecontainer("change", "page1.html", { 
     transition: 'slide',  
     changeHash: true 
    }); 
}); 

$(document).on('click', '#cancel', function() { 
    parent.history.back(); 
    //$.mobile.back(); 
}); 

但沒有我嘗試似乎工作。我知道該程序到達parent.history.back();,因爲我在控制檯中設置了斷點,但除此之外,我不知道爲什麼它不會返回到第一頁。

回答

8

historywindow對象的屬性,而不是從HTML元素停止提交。所以,這應該工作:的

window.history.back(); 

代替:

parent.history.back(); 

在最後你應該有這樣的事情:

$('button#cancel').on('click', function(e){ 
    e.preventDefault(); 
    window.history.back(); 
}); 

這是要還防止默認行爲您的submit button

+0

即使我將其更改爲'window.history.back();',它仍然不會在頁面之間轉換。 – user3413170

+1

這是因爲你的按鈕是提交一個,你需要防止默認行爲,我更新了它的響應 –

0

這一直對我回到原來的工作。

<a href="javascript:history.back()">BACK</a> 
+0

如果可能的話,我很想給他們留做''而不是''這裏 – user3413170

+0

:'<按鈕的onclick = 「history.go(-1);」>回到' –

1

你的取消按鈕仍然是一個提交按鈕,所以它可以追溯到然後提交表單,再次向前送你,基本上撤消你的背部演習。

使用

return false; 

的parent.history.back後();

從持續

+0

這幾乎工程!但是需要兩次點擊來完成這個功能,爲什麼會這樣呢? – user3413170

0

使用此項:

window.history.back();