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を使用したいだけです。
  • selectこれは、と を使用するだけで実行できることを認識してonchangeいます(これは実行できましたが、使いやすさのオプションとしては、ボタンを含める方がよいと思います)。
  • これは、JavaScriptを使用せずにPOSTを使用して実行できることを知っています(例: 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 に答える