如何知道从字段集中检查哪个无线电

时间:2012-11-02 15:17:23

标签: javascript html html-form

我有以下代码:

    <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更容易,但我无法使用它。

2 个答案:

答案 0 :(得分:2)

你在jsFiddle上的代码似乎在大多数情况下工作正常。唯一的问题是页面上不存在元素outputoutput2

因此,应该显示所选值的代码无效:

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

实际检索所选值的部分工作正常。

只需将这两个元素添加到页面中,如下所示:

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

可以找到更新的jsFiddle here

修改

如果选择仅来自其中一个集合的单选按钮,则代码将失败。您可以使用此代码来查找所选值:

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是here

答案 1 :(得分:-1)

考虑一下解决这个问题的帖子。它显示了一些javascript方法以及如何在jQuery中使用它。

How can I check whether a radio button is selected with JavaScript?

是否有特定原因想要按字段集分解,而不是直接按名称访问单选按钮?