Page 1 of 1
[solved] Javascript - set all yes, set all no, unset all
Posted: Mon May 17, 2004 4:16 pm
by markl999
Hi,
If i have 6 radio buttons, like
Code: Select all
<input type="radio" name="answer1" value="yes">Yes
<input type="radio" name="answer1" value="no">No
<br />
<input type="radio" name="answer2" value="yes">Yes
<input type="radio" name="answer2" value="no">No
..etc...etc..
..where it goes up to answer6, what Javascript could i use to have 'set all yes', 'set all no', 'unset all' buttons/links/whatever ?
Google isn't being too forthcoming with an answer

Posted: Mon May 17, 2004 5:54 pm
by feyd
Code: Select all
<html>
<head>
<script language="Javascript">
// pass true, false, or nothing.
function setAnswers(yesno)
{
var obj, ans = 1, opt;
var frm = document.forms['form_name_or_num_here'];
if(frm)
{
var buf = "";
if(arguments.length == 0)
{
// unset all
while(obj = eval("frm.answer" + ans++))
{
for(opt = 0; opt < obj.length; opt++)
{
buf += obj.name + "[" + opt + "] = " + (obj[opt].checked?"true":"false") + "\n";
obj[opt].checked = false;
}
}
}
else if(yesno)
{
// set all to yes
while(obj = frm['answer' + ans++])
{
for(opt = 0; opt < obj.length; opt++)
{
buf += obj.name + "[" + opt + "] = " + (obj[opt].checked?"true":"false") + "\n";
if(obj[opt].value == 'yes')
obj[opt].checked = true;
else
obj[opt].checked = false;
}
}
}
else
{
// set all to no
while(obj = frm['answer' + ans++])
{
for(opt = 0; opt < obj.length; opt++)
{
buf += obj.name + "[" + opt + "] = " + (obj[opt].checked?"true":"false") + "\n";
if(obj[opt].value == 'no')
obj[opt].checked = true;
else
obj[opt].checked = false;
}
}
}
if(buf != "")
alert(buf);
else
alert("no data");
}
else
alert('no!');
}
</script>
</head>
<body>
<div align=center>
<a href="javascript:setAnswers()">unset all</a><br />
<a href="javascript:setAnswers(true)">set all yes</a><br />
<a href="javascript:setAnswers(false)">set all no</a><br />
<form name="form_name_or_num_here">
<input type=radio name="answer1" value="yes" checked/>yes<br />
<input type=radio name="answer1" value="no" />no<br />
<input type=radio name="answer2" value="yes" />yes<br />
<input type=radio name="answer2" value="no" checked/>no<br />
<input type=radio name="answer3" value="yes" />yes<br />
<input type=radio name="answer3" value="no" />no<br />
<input type=radio name="answer4" value="yes" />yes<br />
<input type=radio name="answer4" value="no" checked/>no<br />
<input type=radio name="answer5" value="yes" />yes<br />
<input type=radio name="answer5" value="no" />no<br />
<input type=radio name="answer6" value="yes" />yes<br />
<input type=radio name="answer6" value="no" />no<br />
</form>
</div>
</body>
</html>
Posted: Mon May 17, 2004 5:57 pm
by markl999
Works a treat.
Thanks.