2

私は助けが必要です。このフォームを送信すると、選択リストの値オプション (url) に自動的にリダイレクトされます。

したがって、選択リストで選択されたアーメダバードの送信を押すと、http://intranet.guj.nic.in/passportにリダイレクトされます。

現在、リダイレクトしていません。インラインJavaScriptコードを使用してそれを行う最良の方法は何ですか?

<html><body>
<form  id="pass-form" >
<select id="pass-dropdown" ><option selected="selected">Select Passport Office
for Status page </option><option value="http://intranet.guj.nic.in/passport/">Ahemadabad
</option><option value="http://passportstatus.nic.in/passmain.php?city=asr">Amritsar
</option><option value="http://rpobangalore.gov.in/npassport.asp">Bangalore
</option><option value="http://passportstatus.nic.in/passmain.php?city=bly">Bareilly
</option></select>
<input type="submit"  onsubmit="var sel = document.getElementById('pass-dropdown'); window.location = sel.options[sel.selectedIndex].value" />
</form>
</body>
</html>
4

4 に答える 4

8

onsubmit<form>要素のイベントであり、送信ボタンのイベントではありません。

フォーム コードを次のように変更します。

<form id="pass-form" onsubmit="window.location.href = 'newlocation'; return false;">
...
    <input type="submit" value="Submit" />
</form>
于 2013-01-05T10:57:09.293 に答える
1

に変更type = "submit"ボタン

<input type="button" onclick="var sel = document.getElementById('pass-dropdown'); window.location = sel.options[sel.selectedIndex].value" />

アップデート

<input type="button" onclick="var sel = document.getElementById('pass-dropdown'); 
       var frm = document.getElementById("pass-form"); frm.action = sel; frm.submit();" />

それを関数に入れて、代わりに関数を呼び出す方が良いでしょう

于 2013-01-05T10:53:05.350 に答える
0
<form  id="pass-form" onsubmit="var sel = document.getElementById('pass-dropdown'); window.location = sel.options[sel.selectedIndex].value" >
    ...
    <input type="submit" />
</form>

formタグにsubmit属性を付ける必要があります。その後、動作するはずです。 http://www.w3schools.com/jsref/event_form_onsubmit.asp

于 2013-01-05T11:01:35.233 に答える