我正在尝试由RadioButtonList rblstPallet
组成的简单验证。我尝试了以下代码:
javascript
var rblstPallet = document.getElementById('rblstPallet');
var counter = 0;
for (var intCount = 0; intCount < rblstPallet.length; intCount++) {
if (rblstPallet[intCount].checked) { //this step is not working
console.log(intCount); //I checked using this step
counter++;
}
}
if (counter == 0) {
//MSG: please select any item
}
else {
// Redirect to next page function
}
.aspx
<asp:RadioButtonList ID="rblstPallet" runat="server" RepeatDirection="Horizontal">
<asp:ListItem>Wood</asp:ListItem>
<asp:ListItem>Plastic</asp:ListItem>
<asp:ListItem>None</asp:ListItem>
</asp:RadioButtonList>
问题是,如果我什至选择单选按钮之一,那么
counter
值也保持不变。当我调试代码时,我知道该行如果(rblstPallet [intCount] .checked){
甚至没有执行,甚至没有在控制台中显示任何错误。我正在通过link。我尝试了这个link(不起作用)。
请帮忙。
最佳答案
RadioButtoList在具有类似于radiobuttonlist id的id的单选按钮中转换,您需要通过DOM iterate
来找到matching
元素。
function getRadioButtonListSelections(radioButtonListName)
{
int selectionCount = 0;
for(i=0;i<document.forms[0].length;i++)
{
e=document.forms[0].elements[i];
if (e.id.indexOf(radioButtonListName) != -1 && e.checked)
selectionCount++;
}
return selectionCount;
}
alert(getRadioButtonListSelections('rblstPallet'));