已使用javascript检查RadioButtonList
我正在尝试一个由RadioButtonList已使用javascript检查RadioButtonList,javascript,asp.net,html,Javascript,Asp.net,Html,我正在尝试一个由RadioButtonListrblstPallet组成的简单验证。我尝试了以下代码: javascript var rblstPallet = document.getElementById('rblstPallet'); var counter = 0; for (var intCount = 0; intCount < rblstPallet.length; intCount++) { if (rblstPallet[intCount].checked) {
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
}
var rblstpallel=document.getElementById('rblstpallel');
var计数器=0;
对于(var intCount=0;intCount
.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>
。我试过这个(不起作用)
请提供帮助。请使用:
var rblstPallet = document.getElementById('<%=rblstPallet.ClientID=>');
替换
var rblstPallet = document.getElementById('rblstPallet');
借
var rblstpallel=document.getElementById(“”);
如果您想验证radiobuttonlist,为什么不使用验证程序控件
<asp:RequiredFieldValidator ID="rfvPallet" runat="server"
ControlToValidate="rblstPallet" ErrorMessage="RequiredFieldValidator">
</asp:RequiredFieldValidator>
radiobuttonlist在id类似于radiobuttonlist id的单选按钮中转换,您需要通过DOM迭代
以找到匹配的元素
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'));
函数getRadioButtonListSelections(radioButtonListName)
{
int-selectionCount=0;
对于(i=0;iI使用了这个..它不起作用..正如我在帖子中提到的:)我无法理解最后一行..你能展示一个示例吗..我的意思是在我的js代码中应该在哪里使用它。控制台错误-->object#没有“querySelectorAll”方法。
你在使用哪个浏览器当你使用console.log(rblstplallet)时会得到什么在QuerySelectorAll之前,这意味着您无法获取RBLSTPallel。您是否将clientIdMode设置为Static谢谢,这正在工作…直到现在我还无法理解它,因为我是初学者..:)对于循环遍历当前表单元素,我们正在遍历具有零索引文档的表单。表单[0].elements集合为您提供forms元素[i]的对象。indexOf用于查找ID包含RBLST的元素
var rblstPallet = document.getElementById('<%= rblstPallet.ClientID %>');
<asp:RequiredFieldValidator ID="rfvPallet" runat="server"
ControlToValidate="rblstPallet" ErrorMessage="RequiredFieldValidator">
</asp:RequiredFieldValidator>
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'));