Solved

Radio Button Validation

Posted on 2009-05-12
4
355 Views
Last Modified: 2012-05-06
Hello,
I'm trying to validate radio button as shown below.
I just need to get length of number of radio buttons in the form.
But I don't know how to reference it.
I can get the reference by specifying element name of radio button like formName.radioVal.length. However, I'd like to use this function to any form I create.
Please someone advise.
Thank you.

<script language="JavaScript" type="text/javascript">

<!--
 

function checkRadioSelected(formObj, lbl) {
 

	if (!formObj)

	    return false;
 

	var myRadio = -1;

			

	if (formObj.lbl.length == 0)

		return false;

		

	for (var x = formObj.lbl.length-1; i > -1; i--) {

		if (formObj.lbl[x].checked) {

			myRadio = i;

			i = -1;

		}

	}

	

	if (myRadio == -1) {

		alert('Nothing is selected');

		return false;

	} else {

		return true;

	}

}
 
 

<form name="myForm">

<input type="radio" name="radioval" value=1>

<input type="radio" name="radioval" value=2>

<input type="radio" name="radioval" value=3>
 

<!-- I need to use href to execute the function -->

<a href="javascript: void(0)" onclick="checkRadioSelected(myForm, 'radioVal');">

Check

</a>
 

</form>
 
 

-->

</script>

Open in new window

0
Comment
Question by:eb110k
  • 3
4 Comments
 
LVL 3

Expert Comment

by:janjerell
Comment Utility
Pass the radio object itself.

Try this:
<html>

<head>

<script language="JavaScript" type="text/javascript">

 

function checkRadioSelected(lbl) {
 

        if (!lbl)

            return false;
 

        var myRadio = -1;
 
 

        if (lbl.length == 0)

                return false;

                

	

        for (var i = lbl.length-1; i > -1; i--) {
 

                if (lbl[i].checked) {

                        myRadio = i;

                        i = -1;

                }

        }
 
 

        if (myRadio == -1) {

                alert('Nothing is selected');

                return false;

        } else {

                return true;

        }

} 

 

</script>

</head>
 

<body>

<form name="myForm">

<input type="radio" name="radioval" value=1>

<input type="radio" name="radioval" value=2>

<input type="radio" name="radioval" value=3>

 

<!-- I need to use href to execute the function -->

<a href="javascript: void(0)" onclick="checkRadioSelected(document.myForm);">

Check

</a>

 

</form>

</body>
 

</html>

Open in new window

0
 
LVL 3

Accepted Solution

by:
janjerell earned 500 total points
Comment Utility
Sorry, it's this one:
<script language="JavaScript" type="text/javascript">

 

function checkRadioSelected(lbl) {
 

        if (!lbl)

            return false;
 

        var myRadio = -1;
 
 

        if (lbl.length == 0)

                return false;

                

	

        for (var i = lbl.length-1; i > -1; i--) {
 

                if (lbl[i].checked) {

                        myRadio = i;

                        i = -1;

                }

        }
 
 

        if (myRadio == -1) {

                alert('Nothing is selected');

                return false;

        } else {

                return true;

        }

} 

 
 

</script>

<body>

<form name="myForm">

<input type="radio" name="radioval" value=1>

<input type="radio" name="radioval" value=2>

<input type="radio" name="radioval" value=3>

 

<!-- I need to use href to execute the function -->

<a href="javascript: void(0)" onclick="checkRadioSelected(document.myForm.radioval);">

Check

</a>

 

</form>

</body>

Open in new window

0
 

Author Closing Comment

by:eb110k
Comment Utility
Thank you for your advise.
It worked perfectly by passing object.
0
 
LVL 3

Expert Comment

by:janjerell
Comment Utility
glad to help..
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Suggested Solutions

I've been trying to accomplish this for a while and it just struck me yesterday how to accomplish this task. I have done searches all over the internet looking for ways to email pages from my applications and finally I have done it!!! Every single s…
The task A number given should be formatted for easy reading by separating digits into triads. Format must be made inline via JavaScript, i.e., frameworks / functions are not welcome. So let’s take a number like this “12345678.91¿ and format i…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now