在radiobuttonlist中设置警报时出错?

时间:2015-07-08 04:25:51

标签: javascript radiobuttonlist

我有一个带有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

任何人都可以告诉我我做错了什么。谢谢提前

2 个答案:

答案 0 :(得分:1)

问题是您使用错误的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;

答案 1 :(得分:0)

要仅在选中第一个单选按钮时进行验证,您可以将其检查为

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