2009-10-21 26 views
5

Tôi chỉ muốn tạo danh sách thả xuống bất cứ khi nào tôi chọn một giá trị mới bên trong nó sẽ đưa tôi đến một trang web mới. Tôi không muốn cho phép người dùng nhấp vào nút "GO" để truy cập trang. Chỉ cần chọn và gọi hành động. Làm thế nào tôi có thể làm như vậy?Làm thế nào để tạo một siêu liên kết danh sách thả xuống mà không có nút 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> 

Ví dụ: nút này sẽ có nút GO và cần nhấp vào GO để truy cập trang mới. Tôi không muốn nút GO.

Bất kỳ ý tưởng nào?

Trả lời

16

sử dụng onchange sự kiện:

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

Lưu ý rằng điều này sẽ không thành công nếu người dùng đã tắt Javascript, vì vậy bạn sẽ có nút "Đi" theo mặc định và ẩn nó với JS. – Chuck

+0

+1 Tốt hơn tôi và chú ý đến Chucks Call. Không muốn người dùng không thể điều hướng. –

+0

Tôi làm cách nào để ẩn? – Jonathan

0

Như fas như tôi hiểu - bạn chỉ cần có để xử lý sự kiện cho onchange chọn thẻ. Chỉ cần di chuyển trình xử lý onclick của bạn ở đó.

0

Đặt cho onclick của bạn

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

tôi sử dụng cái này rất nhiều và nên làm việc tốt

(vỉa Mọi người khác là đem lại cho bạn onchange và nói không sử dụng javascript, nhưng nếu trình duyệt một người đang sử dụng không hỗ trợ javascript, sau đó không sử dụng chrome hoặc trình duyệt hàng đầu khác)

Các vấn đề liên quan