2009-10-21 14 views
5

Po prostu chcę utworzyć listę rozwijaną za każdym razem, gdy wybiorę nową wartość, która przeniesie mnie do nowej strony internetowej. Nie chcę, aby użytkownik kliknął przycisk "GO", aby przejść do strony. Wystarczy wybrać i wywołać akcję. Jak mogę to zrobić?Jak utworzyć listę rozwijaną Hiperłącze bez przycisku 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> 

Tutaj na przykład będzie miał przycisk GO i trzeba kliknąć GO, aby przejść do nowej strony. Nie chcę przycisku GO.

Wszelkie pomysły?

Odpowiedz

16

stosowanie onchange wydarzenie:

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

Pamiętaj, że to się nie uda, jeśli użytkownik ma wyłączoną obsługę Javascript, więc powinieneś mieć domyślnie przycisk "Go" i ukryj go za pomocą JS. – Chuck

+0

+1 Lepsze niż moje i zwróć uwagę na Chucks Call. Nie chcę, aby użytkownicy nie mogli nawigować. –

+0

jak to ukryć? – Jonathan

0

Jako fas jak zrozumiałem - po prostu trzeba obsłużyć zdarzenie onchange dla wybranych tagu. Po prostu przenieś tam swój postój.

0

Put za onclick

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

ja używać ten jeden dużo i powinien działać dobrze

(wszyscy inni szwy być dając onchange i powiedzieć nie używać java, ale jeśli przeglądarce osoba korzystająca nie obsługuje javascriptu, a potem mocnego gówna, ponieważ nie używa Chrome ani innej wiodącej przeglądarki).

Powiązane problemy