2012-10-04 15 views
0

我目前有這個取消按鈕,當用戶點擊它 - 它會把他們帶到他們上一頁。如果他們在不保存的情況下對頁面進行更改,然後單擊取消,則會彈出一個窗口,詢問他們是否要保留頁面而不保存更改。點擊「是離開頁面」後,該消息再次出現,我必須再次單擊「是」。因此,兩次相同的消息不能確定爲什麼會發生這種情況,以及是否有更好的方法返回到上一頁。取消按鈕到前一頁

這裏是我的取消按鈕代碼:

<a href="javascript:goBack(); " class="glossyBtn"> 
<img alt="" style="vertical-align: middle" src="<%:Url.Content("~/Content/blueprint/plugins/buttons/icons/cross.png")%>" /> 
    <span style="vertical-align: middle">Cancel</span> 
</a> 


<script type="text/javascript"> 
    function goBack() { 
     window.history.back(); 
    } 
</script> 

此外,如果一個人在網頁上和他們進行更改,然後保存 - 在同一頁面重新加載保存的信息,但如果用戶點擊取消他們在加載之前被帶回到同一頁面,並且必須再次點擊取消才能完全脫離頁面。有沒有更好的方法來處理這個問題?謝謝。

回答

3

window.history.back();將無法​​按預期工作。如果你想重定向到前一頁,然後使用window.location

function goBack() { 
     window.location = 'YOUR URL'; //specify the url to redirect 
} 

更新到您的評論:

是的,只要傳遞參數的功能。

function goBack(url) { 
     window.location = url; //specify the url to redirect 
} 

在你<a>代碼調用,這樣的功能,

<a href="javascript:goBack('http://www.stackoverflow.com'); " class="glossyBtn"> 
+0

,如果我使用不會工作多個頁面上的相同按鈕,並且取決於顯示哪個頁面,位置url將會不同。有沒有辦法讓它檢測,而不是手動編寫特定的網址? – Masriyah

+0

我更新了我的答案,參見上文。 –

+0

這是偉大的,將適用於我申請的某些頁面,但有三個不同的頁面,我使用相同的按鈕,所以如果我輸入'http:// ....'它會太具體。 – Masriyah

0

history.back()如果瀏覽器歷史記錄不會被刪除,所以要爲window.location.href