accessing radiobuttons

  • Thread starter Martien van Wanrooij
  • Start date
M

Martien van Wanrooij

I am working on a site with some pages that all have a form that starts with
a group of radiobuttons. By default none of the buttons is checked. Before
submitting the form there is a validation script that verifies if a choice
has been made.

The following code works, but only for one individual page
function showChecked()
{
if(!document.forms[0].heeftPartner[0].checked &&
!document.forms[0].heeftPartner[1].checked)alert ('Please answer this
question');
else document.forms[0].submit();
}

In every page there will come an almost similar script, only the number of
radiobuttons belonging to the same group varies and every group also has a
different name.
As far as I tried out, when I write document.forms[0].elements[0] the
"heeftPartner" group can also be accessed, but I didn't find a method to
acces every individual element. So I would like a script that
- chooses the first element of the first form (which is always a radio
button group)
- verifies if one of the radio buttons has been checked
If I could retrieve the number of buttons in a group by something like
forms[0].elements[0].length I could make something like

var theLength = forms[0].elements[0].length
var isAnswered = false;
for(i = 0; i < theLength; i++)
{
if (document.forms[0].element[0].checked) //and obviously this does
not work!!!
{
isAnswered = true;
break;
}
}
if (isAnswered) document[0].forms[0].submit();
else alert('Please answer this question');

Even if the script has to be a little bit more complicated it is still worth
the trouble because there are a lot of pages.
Thanks for any suggestions,

Martien van Wanrooij
 
M

Michael Winter

I am working on a site with some pages that all have a form that starts
with a group of radiobuttons. By default none of the buttons is
checked. Before submitting the form there is a validation script that
verifies if a choice has been made.

When you use form.elements[index], where form represents a form object and
index is a positive integer, you will obtain a reference to the control at
that index in the form. If you use form.elements['name'], where name is
the name of the control, you will obtain a collection of all controls in
that form, with that name.

That's how you can access a group of radio buttons[1].

That should help you on your way,
Mike


[1] There are other methods.
 
M

Martien van Wanrooij

Michael Winter said:
If you use form.elements['name'], where name is
the name of the control, you will obtain a collection of all controls in
that form, with that name.
Thank you, Michael, this works exactly as I wanted :)

Martien van Wanrooij
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,817
Latest member
DicWeils

Latest Threads

Top