Home Articles FAQs XREF Games Software Instant Books BBS About FOLDOC RFCs Feedback Sitemap
irt.Org
#

Q1629 How can I prevent more than four checkboxes being clicked?

You are here: irt.org | FAQ | JavaScript | Form | Q1629 [ previous next ]

Try this:

<html>

<head>

<script language="JavaScript"><!--
var numChecked = 0;
var maxChecked = 4;

function getChecked() {
  var theForm = document.myForm;
  for (i=0; i<theForm.elements.length; i++) {
    if (theForm.elements[i].type == 'checkbox' && theForm.elements[i].checked) numChecked++;
  }
}

function checkCheck(theBox) {
  if (theBox.checked) {
    if (numChecked == maxChecked)
      theBox.checked = false;
    else numChecked++;
  }
  else numChecked--
  return true;
}
//--></script>

</head>

<body onLoad="getChecked()">

<form name="myForm">
<input type="checkBox" onClick="checkCheck(this)">
<input type="checkBox" onClick="checkCheck(this)">
<input type="checkBox" onClick="checkCheck(this)">
<input type="checkBox" onClick="checkCheck(this)">
<input type="checkBox" onClick="checkCheck(this)">
<input type="checkBox" onClick="checkCheck(this)">
<input type="checkBox" onClick="checkCheck(this)">
<input type="checkBox" onClick="checkCheck(this)">
</form>

</body>

</html>

©2018 Martin Webb