2010-09-10 249 views
48

我想在這裏做一個非常簡單的任務,我希望能夠點擊頁面上的按鈕並讓我轉到另一個頁面。我試過window.location.href和其他一些東西,它什麼也沒做。我嘗試過不同的平臺和不同的瀏覽器,所有的結果都一樣。JavaScript在按鈕上點擊一個頁面點擊

我知道它可以調用一個函數,但我不能得到新的頁面加載。而且這些都在我的本地文件系統中,並且兩個頁面都處於同一級別(但我也嘗試加載www.apple.com等外部頁面)。

有什麼想法?

感謝 帕特里克

+0

你需要比「一堆其他的東西」更具體。發佈你的代碼(HTML和JavaScript)並告訴我們你遇到了什麼錯誤。 – 2010-09-10 07:12:51

+0

不是一個好主意:按鈕被用戶體驗爲導致動作/觸發(回發,保存/加載)的東西。一個鏈接(一個href)被榨取導航。不要混合這些。你會迷惑用戶。 – 2010-09-10 07:46:17

回答

76

簡單的代碼來重定向頁面

<!-- html button designing and calling the event in javascript --> 
<input id="btntest" type="button" value="Check" 
     onclick=window.location.href = 'http://www.google.com' " /> 
+0

這一個工作,但我認爲我的問題是,我有類型=「提交」,而不是類型=「按鈕」。謝謝您的幫助! – Patrick 2010-09-10 17:47:00

+1

'window.location.assign()'在Firefox中對我更好。出於某種原因賦值'='搞砸了歷史。 – akostadinov 2015-04-21 11:28:48

15

只是window.location = "http://wherever.you.wanna.go.com/",或對本地鏈接,window.location = "my_relative_link.html"

您也可以通過在地址欄中輸入內容來嘗試它。 javascript: window.location = "http://www.google.com/"

另請注意,對於絕對鏈接,URL的協議部分(http://)不是可選的;省略它會使JavaScript假設一個相對的鏈接。

+0

感謝您的建議,我不知道您可以在瀏覽器中運行JavaScript,每天學習新的東西。我試圖window.location和其他人喜歡它,但不能得到它的工作,我知道它應該。我發現我的「類型」是錯誤的,所以它與JavaScript無關,並且與HTML有關。再次感謝你提供的建議。 – Patrick 2010-09-10 17:49:13

19

不要濫用表單元素,其中<a>元素就足夠了。

<style> 
    /* or put this in your stylesheet */ 

    .button { 
     display: inline-block; 
     padding: 3px 5px; 
     border: 1px solid #000; 
     background: #eee; 
    } 

</style> 

<!-- instead of abusing a button or input element --> 
<a href="url" class="button">text</a> 
+0

我也在想這樣。感謝您的幫助。無論如何,我更喜歡這些按鈕。再次感謝。 – Patrick 2010-09-10 17:51:01

+0

+1做正確的方法 – michaelward82 2014-01-11 00:01:09

+0

我試過這個按鈕,它看起來不太好。這只是一個與它周圍的黑線連接。 – AdmiralAdama 2016-09-09 08:19:57

3

這些問題的答案在這裏工作在同一個瀏覽器窗口/標籤中打開頁面。

但是,我希望頁面在他們單擊按鈕時在新窗口/選項卡中打開。 (標籤/窗口決定取決於用戶的瀏覽器設置)

因此,這裏是它如何工作,以打開新的標籤頁/窗口

<button type="button" onclick="window.open('http://www.example.com/', '_blank');">View Example Page</button> 

這並不一定是一個按鈕,你可以在任何地方使用。 注意用於在新選項卡/窗口中打開的_blank