Javascript 函数不适用于单选按钮列表

标签 javascript asp.net

我有一个 JavaScript 函数,其中根据选择我必须启用一行并禁用同一页面上的按钮。早些时候,它是通过后台代码处理的,并且使用相同的逻辑运行良好。现在不行了。

JS函数:

function ValidateRadioButtonList()
{         
   var RBL = document.getElementById('<%=rbListExamShot.ClientID%>');
   var radiobuttonlist = RBL.getElementsByTagName("input");
   var counter = 0;
   var atLeast = 1
   for (var i = 0; i < radiobuttonlist.length; i++) {
   if (radiobuttonlist[i].checked) {

   counter++;
   var selected = i;
   }
   }
   if (atLeast = counter) {
   // return arguments.IsValid;
   var RowMessage = document.getElementById  ('<%                               =RowCliamMessage.ClientID%>');
   RowMessage.style.display = "block";
   }
   else {

   RowMessage.style.display = "none";
   }
   if (selected == 1) {

   var Submit = document.getElementById('<%=Save.ClientID%>');
   Submit.disabled = true;
   return false;
   }
   else {
   return true;
   }
 } 

asp.net 控件和验证器:

   <td  align="left">
            <asp:RadioButtonList CssClass="label" ID="rbListExamShot" runat="server" AutoPostBack="true"
                RepeatDirection="Horizontal" ValidationGroup="Save"  
                onselectedindexchanged="rbListExamShot_SelectedIndexChanged">
                <asp:ListItem Text="Single Shot" Value="1"></asp:ListItem>
                <asp:ListItem Text="Double Shot" Value="2"></asp:ListItem>
            </asp:RadioButtonList>
            </td>
            <td>
              <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" Text="Please select voucher type"
                Display="Dynamic" ControlToValidate="rbListExamShot" ValidationGroup="Save"
                ForeColor="Red" Font-Bold="False"></asp:RequiredFieldValidator>
                 <asp:CustomValidator ID="CustomValidator1" runat="server" ValidationGroup="Save"
                Display="Dynamic" ErrorMessage=".Double Shot Vouchers cannot be reimbursed."
                ControlToValidate="rbListExamShot" ClientValidationFunction="ValidateRadioButtonList"
                ForeColor="Red" Font-Bold="False"></asp:CustomValidator>
        </td>

最佳答案

感谢大家的评论..问题是我在 var 中获取客户端 Id,然后尝试设置属性..现在我正在做类似的事情: document.getElementById('<%=Save.ClientID%> ').disabled = true..它对我有用!谢谢大家

关于Javascript 函数不适用于单选按钮列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12951460/

相关文章:

asp.net - 为 MVC View 订购 Entity Framework 项和子项

javascript - 通过Request.Form传递二维数组(或对象数组)?

javascript - 从客户端向服务器发送伪造的 socket.io 请求(node.js/socket.io)

javascript - 当 Iframe 内容位于不同域时,如何根据其内容更改 Iframe 高度?

javascript - 通过浏览器后退按钮访问表单未触发 "Confirm form resubmit"

asp.net - 使用自定义成员资格提供程序时,在 ASP.NET 中推荐的用户特定持久变量存储方法是什么?

asp.net - 使用 javascript、jquery 将 .ascx 页面呈现为 .aspx 页面

javascript - 带有 CSS 圆 Angular 的谷歌地图自定义标记

c# - 只读时无法获取带有文本框的文本?

c# - Ektron 分类法和库项目(v9 中)