JavaScript and client side scripting.
Moderator: General Moderators
markl999
DevNet Resident
Posts: 1972 Joined: Thu Oct 16, 2003 5:49 pm
Location: Manchester (UK)
Post
by markl999 » Mon May 17, 2004 4:16 pm
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
Last edited by
markl999 on Mon May 17, 2004 5:57 pm, edited 1 time in total.
feyd
Neighborhood Spidermoddy
Posts: 31559 Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA
Post
by feyd » Mon May 17, 2004 5:54 pm
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>
markl999
DevNet Resident
Posts: 1972 Joined: Thu Oct 16, 2003 5:49 pm
Location: Manchester (UK)
Post
by markl999 » Mon May 17, 2004 5:57 pm
Works a treat.
Thanks.