• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3698
  • Last Modified:

Loop through a RadioButtonList using javascript, in order to validate if a selection has been made.

Hi,

I have a radiobuttonlist which I have to validate using javascript. I know there are a million better ways and easier ways to do this using server side code, however specific to the application I am working on I need to do this in javascript.

Having searched and found many "Solutions" to this problem, I have had none that have worked.
I realy would appreciate some feedback on the easiest way to do this.
All I need to do us check if an item has been selected or not.

Cheers

0
jazz__man
Asked:
jazz__man
  • 2
2 Solutions
 
gops1Commented:
Is this you are looking for?
<html>
	<head>
		<title>Script Demo Gops</title>
		<script type="text/javascript">
			function checkRadio(f){
				var r=f.radbtn;
				var f=false;
				for(var i=0;i<r.length;i++){
					if(r[i].checked){f=true;break}
				}
				if(!f) alert("Nothing is checked"); else alert("Checked!!!");
			}
		</script>
	</head>
<body>
	<form name="rad">
		<input type="radio" name="radbtn"><br>
		<input type="radio" name="radbtn"><br>
		<input type="radio" name="radbtn"><br>
		<input type="radio" name="radbtn"><br>
		<input type="radio" name="radbtn"><br>
		<input type="radio" name="radbtn"><br>
		<input type="radio" name="radbtn"><br>
		<input type="radio" name="radbtn"><br>
		<input type="radio" name="radbtn"><br>
		<input type="radio" name="radbtn"><br>
		<input type="button" value="Check" onclick="checkRadio(this.form)">
	</form>
</body>
</html>

Open in new window

0
 
Munawar HussainPrincipal Software EngineerCommented:
here is working code for what you have asked...

in ASPX form
In head section
<script type ="text/javascript"  language =javascript >
    function LoopThroughRDList()
    {
    var MyRDList =document.form1.getElementsByTagName('input');
   
    var i=0;
        for(i=0; i < MyRDList.length - 1; i++)
        {
            if(MyRDList[i].id.indexOf("MyRadioButtonList") != -1)
            {
                if(MyRDList[i].checked)
                {
                alert("checked");
                }
                else
                {
                alert("not checked");
                }
            }
        }
    }
    </script>

IN THE FORM SECTION

 <asp:RadioButtonList ID="MyRadioButtonList" runat="server">
            <asp:ListItem>mm</asp:ListItem>
            <asp:ListItem>nn</asp:ListItem>
            <asp:ListItem>hh</asp:ListItem>
            <asp:ListItem>gg</asp:ListItem>
            <asp:ListItem>ee</asp:ListItem>
            <asp:ListItem>oo</asp:ListItem>
        </asp:RadioButtonList></div>
        <asp:Button ID="Button1" OnClientClick="LoopThroughRDList()"  runat="server" Text="Button" />


0
 
jazz__manAuthor Commented:
But for a RadioButtonList the Length is always 1 or at least when debugging thats what it always shows. I have 10 Items that are being pulled from the database and are being bound to each button.

So the first thing I have to do is count number of buttons on the RadioButtonList.
0
 
Munawar HussainPrincipal Software EngineerCommented:
if you are talking about counting in Javascript then the "RadioButtonList" dont hold any collection of its items .. you need to get all input type controls and then checking one by one if it is input then is checkbox, if yes then does it contains id of the RadioButtonList if yes then it is an item of the RadioButtonList
..
if you are talking about length in code serverside then you need to check
MyRadioButtonList.Items.Count  must give you the total intems in the list?
thanks
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now