Saturday, June 1, 2024
 Popular · Latest · Hot · Upcoming
175
rated 0 times [  181] [ 6]  / answers: 1 / hits: 79490  / 12 Years ago, thu, october 25, 2012, 12:00:00

Supposed I had the following HTML form:



<html xmlns=http://www.w3.org/1999/xhtml>
<head><meta http-equiv=Content-Type content=text/html; charset=ISO-8859-1>
<title>Choose</title>
</head>

<body>
<form method=post enctype=application/x-www-form-urlencoded>
<h1>Choose</h1>

<p><input type=radio name=choose value=psychology><font size=5 color=#0033CC>Instant Psychology</font><br>
<br>
<input type=radio name=choose value=geography><font size=5 color=#CC0000>Instant Geography</font><br>
<br>
<input type=radio name=choose value=gastronomy><font size=5 color=#660033>Instant Gastronomy</font><br>
<br>
<input type=submit name=Submit value=Go></p>
</form>


</body><link rel=stylesheet type=text/css href=data:text/css,></html>


How can I write a JavaScript function to make sure at least one radio input has been selected?


More From » javascript

 Answers
15

Looping over the <input> tags, check the type and if it is checked.



function isOneChecked() {
// All <input> tags...
var chx = document.getElementsByTagName('input');
for (var i=0; i<chx.length; i++) {
// If you have more than one radio group, also check the name attribute
// for the one you want as in && chx[i].name == 'choose'
// Return true from the function on first match of a checked item
if (chx[i].type == 'radio' && chx[i].checked) {
return true;
}
}
// End of the loop, return false
return false;
}


Here it is in action on jsfiddle


[#82366] Tuesday, October 23, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
kaceyr

Total Points: 510
Total Questions: 97
Total Answers: 116

Location: Solomon Islands
Member since Fri, Oct 8, 2021
3 Years ago
kaceyr questions
;