2009-10-21 37 views
5

我只是想创建一个下拉列表,只要我在里面选择一个新值,就会带我到一个新的网页。我不想让用户点击“GO”按钮进入页面。只需选择并调用该操作即可。我怎么能这样做?如何创建没有GO按钮的下拉列表超链接?

<form> 
<p align="center"><b>Select a Site </b> 
<select id="setit" style="color: #0000FF" size="1" name="test"> 
<option value="">Select one</option> 
    <option value="http://www.altavista.com">AltaVista</option> 
    <option value="http://www.yahoo.com">Yahoo</option> 
    <option value="http://www.google.com">Google</option></select> 
    <input type="button" value="Go" 
onclick="window.open(setit.options[setit.selectedIndex].value)"> 
</p></form> 

在这里例如,这将有GO按钮,需要点击GO才能进入新页面。我不想要GO按钮。

任何想法?

回答

16

使用onchange事件:

<select onchange="window.open(this.value,'','');"> 
.... 
</select> 
+3

请注意,如果用户关闭Javascript,这将失败,所以你应该有一个“转到”按钮默认情况下并用JS隐藏它。 – Chuck 2009-10-21 07:01:32

+0

+1比我的更好,并且留意Chucks Call。不希望用户无法导航。 – 2009-10-21 07:05:54

+0

我如何隐藏它? – Jonathan 2009-10-21 07:07:38

0

由于FAS我的理解 - 你只需要处理select标签onchange事件。 只需在那里移动你的onclick处理程序。

0

穿上你的onclick

<input type="button" value="Go "onclick="document.location = this.value"> 

我用这个了很多,应该很好地工作

(其他人的接缝是给你的onchange和说的不使用JavaScript,但如果浏览器一个人正在使用不支持JavaScript然后强硬狗屎,因为没有使用铬或其他领先的浏览器)