使用网址的下拉选项值在提交时使用表单重定向

时间:2013-01-24 23:29:38

标签: javascript html-form html-select onsubmit

我在下面的表单中遇到问题。它只包含<select>下拉列表和submit按钮。如果用户选择一个选项并提交表单,则内联javascript应该获取相应的值并相应地重定向用户。我尝试使用下面的内联javascript,但我不知道如何选择表单中的下拉列表,可能没有使用类或id。

<form onsubmit="var sel = select; window.location.replace = sel.options[sel.selectedIndex].value; return false;">
    <select>
        <option>Menu</option>
        <option value="http://someurl...">Label</option>
        <option value="http://someurl...">Label</option>
        <option value="http://someurl...">Label</option>
        <option value="http://someurl...">Label</option>
        <option value="http://someurl...">Label</option>
    </select>
    <input class="btn" type="submit" value="Go">
</form>

注意:

  • 我可能在同一页面上有不止这样的表格而且我想要 使用许多id或类 - 我想只使用里面的选择 内联javascript的形式。
  • 我知道这可以通过使用select来完成 onchange(我完成了这项工作,但我认为可用性 选项最好包括一个按钮)。
  • 我知道这可以使用POST而不是javascript(例如 http://css-tricks.com/unobtrusive-page-changer/但我想这样做 在javascript)

1 个答案:

答案 0 :(得分:1)

由于您位于表单onsubmit属性中,因此可以通过this访问它,然后使用getElementsByTagName选择select元素。

var sel = this.getElementsByTagName('select')[0];