Sunday, May 19, 2024
 Popular · Latest · Hot · Upcoming
15
rated 0 times [  16] [ 1]  / answers: 1 / hits: 48019  / 13 Years ago, fri, january 6, 2012, 12:00:00

I wanna check radio buttons automatically: I tried this code but it does not work:
Radio buttons have 3 different values, I wanna select the radio button with value 'clean.



How can I check automatically radio buttons on a webpage?
Thanks!



function getElements()
{

for (i=0; i<document.getElementsByTagName('input').length; i++)
{
//if (document.getElementsByTagName('input')[i].type == 'radio')
if(document.getElementsByTagName('input')[i].type=='radio')
{
//if (document.getElementsByTagName('input')[i].value=='clean')
document.getElementsByTagName('input')[i].click();
}
}


I modified the code as following:



 for (i=0; i<document.getElementsByTagName('input').length; i++) 
{

if(document.getElementsByTagName('input')[i].type=='radio')
{


if(document.getElementsByTagName('input')[i].value == clean)
{
document.getElementsByTagName('input')[i].checked =true;
}

}
}


but it is not still working:(



the radio buttons are in a iframe, can it be the reason why the code is not working?


More From » javascript

 Answers
34

Give your radio buttons names would make things a lot easier



<input type=radio name=myradios value=clean/>
<input type=radio name=myradios value=somethingelse/>

var elements = document.getElementsByName('myradios');
for (i=0;i<elements.length;i++) {
if(elements[i].value == clean) {
elements[i].checked = true;
}
}


Working example : http://jsfiddle.net/Dwzc9/



Updated



getElementsByName doesn't seem to be supported in all IE versions ... so you could use the following based on your original example :



var allElems = document.getElementsByTagName('input');
for (i = 0; i < allElems.length; i++) {
if (allElems[i].type == 'radio' && allElems[i].value == 'clean') {
allElems[i].checked = true;
}
}


Working example : http://jsfiddle.net/Dwzc9/2/


[#88183] Thursday, January 5, 2012, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
zachariaho

Total Points: 34
Total Questions: 87
Total Answers: 100

Location: England
Member since Tue, Sep 8, 2020
4 Years ago
;