1

次のコードがあります。

    <fieldset id="dificuldade">
        <legend>Dificuldade:</legend>
        <input type="radio" name="dificuldade" value="facil"> Fácil </input>
        <input type="radio" name="dificuldade" value="medio"> Médio </input>
        <input type="radio" name="dificuldade" value="dificil"> Difícil </input>
    </fieldset>

    <fieldset id="tipo">
        <legend>Tipo de jogo:</legend>
        <input type="radio" name="Tipodejogo" value="somar"> Somar </input>
        <input type="radio" name="Tipodejogo" value="subtrair"> Subtrair </input>
        <input type="radio" name="Tipodejogo" value="dividir"> Dividir </input>
        <input type="radio" name="Tipodejogo" value="multiplicar"> Multiplicar </input>
    </fieldset>

    <input type="button" value="Começa" id="button" ></input>
</form>

ここに、html と js http://jsfiddle.net/3bc9m/15/の両方を含む jsfiddle があります。選択した値に応じてゲームを生成できるように、2 つのフィールドセットの値を保存する必要がありますが、私の JavaScript はそれらのいずれも返しません。なにが問題ですか?JQuery の方がはるかに簡単だと言われましたが、使用できません。

4

2 に答える 2

2

jsFiddle のコードは、ほとんどの場合正常に動作しているようです。唯一のことは、要素outputoutput2がページに存在しないことでした。

したがって、選択した値を表示するはずだったこのコードは機能していませんでした。

document.getElementById('output').innerHTML = curr.value;
document.getElementById('output2').innerHTML = tdj.value;

選択した値を実際に取得する部分は正常に動作しています。

次のように、これら 2 つの要素をページに追加するだけです。

<p>Selected Values:</p>
<div id="output"></div>
<div id="output2"></div>

更新された jsFiddle は、ここにあります。

編集

セットの 1 つのみのラジオ ボタンが選択されている場合、コードは失敗します。代わりに、このコードを使用して、選択した値を見つけることができます。

document.getElementById('button').onclick = function() {

    var dif = document.getElementsByName('dificuldade');
    var tip = document.getElementsByName('Tipodejogo');

    var difValue;
    for (var i = 0; i < dif.length; i++) {
        if (dif[i].type === "radio" && dif[i].checked) {
            difValue = dif[i].value;
        }
    }

    var tipValue;
    for (var i = 0; i < tip.length; i++) {
        if (tip[i].type === "radio" && tip[i].checked) {
            tipValue = tip[i].value;
        }
    }

    document.getElementById('output').innerHTML = difValue;
    document.getElementById('output2').innerHTML = tipValue;
};​

更新された jsFiddle はこちらです。

于 2012-11-02T15:47:10.127 に答える
-1

この問題に対処するこの投稿を検討してください。いくつかの JavaScript メソッドと、jQuery での使用方法を示します。

JavaScriptでラジオボタンが選択されているかどうかを確認するにはどうすればよいですか?

ラジオボタンに名前で直接アクセスするのではなく、フィールドセットごとに分割したい特定の理由はありますか?

于 2012-11-02T15:25:44.733 に答える