2

2 つのラジオ ボタン オプションを指定する次の HTML があります。ユーザーが 1 つのオプションを選択して [送信] をクリックすると、対応するページに移動します。

<script src="js/jump.js"></script>

<form onsubmit="jump()">
<input type="radio" name="querytype" value="apple">Go to Apple page<br>
<input type="radio" name="querytype" value="orange">Go to Orange page<br>
<input type="submit" value="OK">
</form>

JS ファイル jump.js には、次の関数があります。

function jump() {
    var selected = document.getElementsByName('querytype');

    for(var i=0; i<selected.length; i++) {
    var value = selected[i].value;
    if (selected[i].checked) {
        if (value === 'apple') {
        window.location.href = '/myapp/apple-page';
        } else {
        window.location.href = '/myapp/orange-page';
        }
    } 
    }
}

しかし、これは機能していません。選択して送信すると、「Apple」ページにも「Orange」ページにも移動せず、空白のページが表示されます。どうすれば実現できますか?

4

2 に答える 2

1

あなたのコードによると、ユーザーの選択に応じてページ X または Y にのみリダイレクトしたいということを理解しています。この場合、次のように「送信」ボタンのタイプを「ボタン」に変更する必要があります。

<input type="button" onclick="jump()" value="ok">

form タグから属性 onsubmit="jump()" を削除します。

于 2013-09-15T11:16:39.343 に答える
0

の最後return falseに配置jump()して、デフォルトのフォーム送信アクションを防止します。

于 2013-09-14T19:57:34.750 に答える