In this tutorial you can learn how to check and validate radio, and checkbox buttons.
To verify if a radio, or checkbox button is checked, use the checked property.
If the button is checked, the JavaScript "checked" property returns true, otherwise returns false.

To check /validate checkbox button it's easy because each checkbox input must have an unique name.
if (form_name.checkbox_name.checked == false) alert('Checkbox button not checked');

It becomes a bit more complicated when it must check radio buttons, because multiple radio buttons has the same name, and JavaScript stores them into an array. So, the syntax:
- Returns an array with all the radio buttons with name="radio_name" in the "form_name".
To validate the radio buttons, you must traverse that array, and check each element (each button), like in the code bellow.
var radio_buttons = form_name.radio_name;
var re = false;

// traverse the array with radio buttons, if one is checked, make "re" true and stops
for(var i=0; i<radio_buttons.length; i++) {
  if (radio_buttons[i] == true) {
     re = true;

// if "re" false, means no one radio button checked
if(re == false) alert('Radio button not checked');

• Below it's a practical example with a form that contains two radio buttons and three checkboxes. The user must check an radio button (vegetables), and at least one checkbox (fruits), otherwise, when it submits the form, the function checkButons() alerts an error message, and returns False.
<h4>Check a vegetable, and at least one fruit</h4>
<form action="" method="post" name="f1" onsubmit="return checkButons(this);">
Vegetables: <input type="radio" name="vegetable" value="cabbage" />Cabbage
 <input type="radio" name="vegetable" value="carrot" />Carrot<br/>
 <input type="checkbox" name="fruit1" value="apple" />Apple<br/>
 <input type="checkbox" name="fruit2" value="pear" />Pear<br/>
 <input type="checkbox" name="fruit3" value="banana" />Banana<br/>
 <input type="submit" value="Submit" />
<script type="text/javascript"><!--
// checks buttons (radio, checkbox) -
function checkButons(frm) {
var re = false;           // used to determine when a button is checked
var err = '';             // to store the errors

var vegetables = frm.vegetable;          // contains an array with all radio buttons "vegetable"

// create an Array in JSonn format with checkbox buttons
var fruits = [frm.fruit1, frm.fruit2, frm.fruit3];

// traverse the radio buttons
// if one is checked sets re to true, and stops the iteration with "break"
for(var i=0; i<vegetables.length; i++) {
  if(vegetables[i].checked == true) {
    re = true;

// if "re" is false means no radio button checked, add error in "err" 
if(re == false) err += '- You must check at least one vegetable';

// make "re" again False, and traverse the checkbox buttons
// if one is checked sets re to true, and stops the iteration with "break"
re = false
for(var i=0; i<fruits.length; i++) {
  if(fruits[i].checked == true) {
    re = true;

// if "re" is false means no checkbox button checked, add error in "err" 
if (re == false) err += '\n - You must check at least one fruit';

// if "err" not empty, alert the error(s) and returns False to stop submitting form
if(err != "") {
  return false;
else return re;

Check a vegetable, and at least one fruit

Vegetables: Cabbage Carrot

Daily Test with Code Example

Which tag renders as emphasized text, displaying the text oblique?
<strong> <pre> <em>
<p>Web development courses: <em></em></p>
Which CSS property defines the space between the element border and its content?
margin padding position
h3 {
  padding: 2px 0.2em;
Click on the method which returns the first element that matches a specified group of selectors.
getElementsByName() querySelector() querySelectorAll()
// gets first Div with class="cls", and shows its content
var elm = document.querySelector("div.cls");
Indicate the PHP variable that contains data from a form sent with method="post".
if(isset($_POST["field"])) {
  echo $_POST["field"];
Validate radio and checkbox buttons

Last accessed pages

  1. Remove / Get duplicate array values - Reset array keys in PHP (7184)
  2. jqPlot Charts (4328)
  3. Qwop (39128)
  4. $_GET, $_POST and $_REQUEST Variables (23742)
  5. Dragon Warrior (222)

Popular pages this month

  1. Qwop (6303)
  2. Drag Racer V3 (4295)
  3. Bubbles3 (1796)
  4. List with All the Games (1481)
  5. Butterfly Kyodai (1413)