2

我在下面的表格中遇到了问题。它只包含一个<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。
  • 我知道这可以通过使用selectand onchange来完成(我做到了,但我认为可用性选项最好包含一个按钮)。
  • 我知道这可以使用 POST 而没有 javascript 来完成(例如 http://css-tricks.com/unobtrusive-page-changer/但我想用 javascript 来完成)
4

1 回答 1

1

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

var sel = this.getElementsByTagName('select')[0];
于 2013-01-24T23:40:42.323 回答