0

我在无结果页面中显示了一个下拉列表。

这就是我正在做的

<label for="chewie"></label>
 <select name="chewie" id="chewie" onchange="redirect()">
  <option > Select Option</option>
  <option value="www.item1.com">Item1</option>
  <option value="www.item1.com">Item1</option>
  <option value="www.item1.com">Item1</option>
  <option value="www.item1.com">Item1</option>
 </select>

如果用户选择 Item1,它会重定向到 item1 页面。当他单击后退按钮并选择“选择选项”时,它应该停留在此下拉列表所在的页面上。

但是现在,当用户选择“选择选项”时,它会进入明显找不到的 404 页面。

我不希望第一个选项重定向到任何页面。我应该提供什么值以便它不会重定向到任何其他页面?

4

4 回答 4

2

您可以使用<option disabled>Select Option</option>因此无法单击该选项。

于 2012-09-27T18:02:01.503 回答
1

也许你可以使用像 value="#" 这样的锚值

于 2012-09-27T17:55:36.200 回答
0

只需从标签 urls中的 value 属性中删除option

  <label for="chewie"></label>
  <select name="chewie" id="chewie" onchange="redirect()">
  <option> Select Option</option>
  <option>Item1</option>
  <option>Item2</option>
  <option>Item3</option>
  <option>Item4</option>
 </select>
于 2012-09-27T17:52:04.893 回答
0

另一种选择是在 Javascript 中添加一些内容以防止其重定向。假设第一个选项始终是占位符,因此您想忽略该操作...您可以检查所选索引并仅在索引大于零时执行该操作。

function redirect() { 
  //capture the selection 
  var dropdown = document.getElementById("chewie");
  if(dropdown.selected_index > 0)
  { 
     //redirect the user 
     var redirect_url = dropdown.options[selected_index].value;
     window.location = redirect_url; 
  }

  return false;
}

此外,您可能希望将http://URL 放在前面......在我的浏览器中,如果没有它,它们就无法正确重定向。

于 2012-10-01T15:57:35.860 回答