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

LVL 2
jazz__manAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

 
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

Experts Exchange Solution brought to you by ConnectWise

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
 
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.