0

我有一个小问题。这个功能有什么问题?我不知道。选择单选按钮时,我需要弹出警报窗口。感谢您的每一个回复。

HTML

<input type="radio" name="radioButton" class="choice" value="1">
<input type="radio" name="radioButton" class="choice" value="2">
<input type="radio" name="radioButton" class="choice" value="3">

JavaScript

var FormFields =
{
    init: function()
    {

        var radio = document.getElementsByName("radioButton");  
        radio.onchange = FormFields.showAlert;  
    },
    showAlert: function()
    {               
        alert("Bye!");
    },
};
4

2 回答 2

1

因为getElementsByName返回 aNodeList您需要将事件回调应用于每个输入:

var radios = document.getElementsByName("radioButton");
for(var i = 0;i < radios.length;i++){
    radios[i].onchange = FormFields.showAlert;
}

演示:http: //jsfiddle.net/louisbros/H7TdB/

于 2013-04-05T21:11:01.340 回答
0

getElementsByName 获取元素列表,因此您在数组上调用 onChange。https://developer.mozilla.org/en-US/docs/DOM/document.getElementsByName

您想要遍历元素并应用 onChange。

于 2013-04-05T21:10:06.233 回答