Home Articles FAQs XREF Games Software Instant Books About Feedback Search Site-Map
irt.org logo

Q798 How can I retrieve the value from one of several identically named checkboxes?

irt.org | Knowledge Base | JavaScript | Form 10.2 | Q798 [ previous next ]

Q798 How can I retrieve the value from one of several identically named checkboxes?

Cycling identically named checkboxes require the use of the forms elements array:

<FORM>

<INPUT TYPE="CHECKBOX" NAME="myName" VALUE="one">
<INPUT TYPE="CHECKBOX" NAME="myName" VALUE="two">
<INPUT TYPE="CHECKBOX" NAME="myName" VALUE="three">
<INPUT TYPE="CHECKBOX" NAME="myName" VALUE="four">
<INPUT TYPE="CHECKBOX" NAME="myName" VALUE="five">
<INPUT TYPE="CHECKBOX" NAME="myName" VALUE="six">

<INPUT TYPE="BUTTON" onClick="cycleCheckboxes(this.form)" VALUE="Check">

<BR>

<INPUT TYPE="TEXT" NAME="answer">

</FORM>

<SCRIPT LANGUAGE="JavaScript"><!--
function cycleCheckboxes(what) {
    for (var i = 0; i<what.elements.length; i++) {
        if ((what.elements[i].name.indexOf('myName') > -1)) {
            if (what.elements[i].checked) {
                what.answer.value = what.elements[i].value;
            }
        }
    }
}
//--></SCRIPT>

However, the radio button is a more suitable form element to use, as only one of the identically named radio buttons can ever be selected at once. In the previous example, if more than one checkbox had been checked then only the last one would be picked up.

<FORM>

<INPUT TYPE="RADIO" NAME="myName" VALUE="one">
<INPUT TYPE="RADIO" NAME="myName" VALUE="two">
<INPUT TYPE="RADIO" NAME="myName" VALUE="three">
<INPUT TYPE="RADIO" NAME="myName" VALUE="four">
<INPUT TYPE="RADIO" NAME="myName" VALUE="five">
<INPUT TYPE="RADIO" NAME="myName" VALUE="six">

<INPUT TYPE="BUTTON" onClick="cycleRadii(this.form)" VALUE="Check">

<BR>

<INPUT TYPE="TEXT" NAME="answer">

</FORM>

<SCRIPT LANGUAGE="JavaScript"><!--
function cycleRadii(what) {
    for (var i = 0; i<what.elements.length; i++) {
        if ((what.elements[i].name.indexOf('myName') > -1)) {
            if (what.elements[i].checked) {
                what.answer.value = what.elements[i].value;
            }
        }
    }
}
//--></SCRIPT>

Provide feedback ...
AddThis Social Bookmark Button

Provide feedback ... AddThis Social Bookmark Button


Last Updated: 30th March 2008. Maintained by: Martin Webb and Michel Plungjan
irt.org liability, trademark, document use, privacy statement and software licensing rules apply.
Copyright © 1996-2008 irt.org, All Rights Reserved.