2010-09-10 127 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