在单选按钮列表中设置警报时出错

Error in setting alert in radiobuttonlist?

本文关键字:出错 设置 单选按钮 列表      更新时间:2023-09-26

我有一个带有radiobuttonlist的两个文本框。如果两个测试都是空的,它应该提醒"文本框是空的",如果不是空的,它应该提醒"日期已启用"。

这是我尝试用javascript

 function checked() {
        var radio = document.getElementById('<%=rbtn1.ClientId%>');
        var cal1 = document.getElementById('<%=textstqo.ClientId%>').value;
        var cal2 = document.getElementById('<%=textedqo.ClientId%>').value;
    if (radio.checked = true) {
         if(cal1 == '' && cal2 =='')
        {
        alert("dates cannot be blank");
        return false
        }else
        {
        alert("dates are enabled");
         return true
        }
        }
    }

单选按钮列表

<asp:RadioButtonList ID="rbtn1" runat="server" RepeatDirection="Vertical" RepeatLayout="Table" Height="300px" Width="101px" onClick="checked()" >
 <asp:ListItem Text="one" Value="one" Enabled="true"></asp:ListItem>
 <asp:ListItem Text="two" Value="two" Enabled="true" ></asp:ListItem>
<asp:ListItem Text="three" Value="three" Enabled="true"></asp:ListItem>

编辑错误:期望函数

第一个警报正在工作。当我试图检查其他部分的警报时,它显示了上述错误我只给你展示了第一个单选按钮是"quaterone",javascript也是为quaterone

谁能告诉我我做错了什么?提前感谢

问题是您使用了错误的单选按钮id。'<%=rbtn1.ClientId%>_Quaterone'

试试:'<%=rbtn1.ClientId%>'

编辑:

var radioCont = document.getElementById('<%=rbtn1.ClientId%>');
var radio = radioCont.getElementsByTagName('input')[0];//first radio

你还试图赋值而不是比较:

if (radio.checked = true) { //assignment

试试这个:

if (radio.checked == true) { // though `===` is recommended over `==`

你也可以试试:

if(radio.checked) {
  // to do here
}

将属性更改为onchange而不是onclick,这里:

onClick="checked()" >

为了取消选中单选,将其状态赋值为false:

alert("dates cannot be blank");
radio.checked = false; //un-check the radio
return false;

为了只在第一个单选按钮被选中时进行验证,您可以像

那样选中它
if($('#rbtn1 input:radio:checked').val() == 'quaterone'){
    // your condition here...
}