如何使用javascript获取单选按钮的值

时间:2015-04-10 20:09:08

标签: javascript html

我无法弄清楚如何获得单选按钮的值。

除了正确的方式,我已经尝试了所有的事情。以下是here

的示例

好的,第一个开关可能不是使用开关stateemnt的正确方法,虽然我喜欢这样做,因为它易于阅读并添加新选项。

警告语句显示true或false。那么我尝试了一个if语句。这没用。好吧,也许我必须输入所有内容。不,这也不起作用。也许它需要一个数字?不。串?不。

所以我尝试了另一个开关。不要再说了。

有人能给我正确的方法吗?

function commitData()
    {           
        switch (true) {
            case document.getElementsByName('StatusOnHeader')[0]:
                alert('Edit');
                break;
            case document.getElementsByName('StatusOnHeader')[1]:
                alert('Add');
                break;
            default:
                alert('XXX');
                break;
        } 
        if (document.getElementsByName('StatusOnHeader')[0]) {
            alert("TRUE");
        } else {
            alert("FALSE");
        }
        if (document.getElementsByName('StatusOnHeader')[0] == true) {
            alert("TRUE");
        } else {
            alert("FALSE");
        }
        if (document.getElementsByName('StatusOnHeader')[0] == 1) {
            alert("TRUE");
        } else {
            alert("FALSE");
        }
        if (document.getElementsByName('StatusOnHeader')[0] == '1') {
            alert("TRUE");
        } else {
            alert("FALSE");
        }
        switch (document.getElementsByName('StatusOnHeader')[0]) {
            case true:
                alert('Edit');
                break;
            case false:
                alert('Add');
                break;
            default:
                alert('XXX');
                break;
        } 
    }

3 个答案:

答案 0 :(得分:2)

if(document.getElementsByName('StatusOnHeader')[0].checked)

答案 1 :(得分:0)

布尔结果 (true / false)

var checkedOrNot = document.getElementsByName('StatusOnHeader')[0].checked;

字符串结果 ('已选中','未选中')

var result = (document.getElementsByName('StatusOnHeader')[0].checked)?'Checked':'Not Checked';

答案 2 :(得分:0)

switch (true) {...}

true不是变量;在这里插入一个变量

case variable: ...  

变量不寻常;这里使用了大多数常量

document.formName.inputRadio[0..n].checked 

返回false或true

getElementsByID()

未知。 id是唯一的,因此方法是getElementById()

现在回答:

<form action="" name="chooseAFormName">
    <input type="radio" name="StatusOnHeader" value="Edit">Edit existing
    <input type="radio" name="StatusOnHeader" value="Add" checked="checked">Add new
    <input type="submit" name="send_button" value="Save" onclick='commitData()'>
</form>

脚本部分:

function commitData() {
    if (document.chooseAFormName.StatusOnHeader[0].checked) {
        alert('first radio checked!');
        // insert here valuable stuff
    }
    if (document.chooseAFormName.StatusOnHeader[1].checked) {
        alert('second radio checked!');
        // insert here valuable stuff as well
    }
}