Forum Moderators: open
On my html form <No URLs, thanks. See TOS [webmasterworld.com]>,
I need to show 2 text fields ('License Number' and 'Active Date') only if a 'yes' radio button (answer to 'Do you have a license?') is selected. Does anyone know how to do this in javascript?
[edited by: DrDoc at 4:48 pm (utc) on June 28, 2004]
<script language="javascript">
function showFields(v){
var layers = document.all.tags("DIV");
layers['license'].style.visibility=v;
}
</script>
<div id="license" style="visibility: hidden;">
License Number: <input name="license" type="text" maxlength="30"/><br>
Active Date: <input name="active_date" type="text" maxlength="15"/>
</div>
Have License? <input type="radio" name="check1" value="1" onclick="showFields('visible')"> Yes <input type="radio" name="check1" value="0"> No
<script language="javascript">
function showFields(v){
var layer = (document.all)? document.all['licence']
: document.getElementById('licence')
layer.style.visibility=v;
}
</script>
(My one...)
<html>
<head>
<script>function showbox(callingElm, doShow, names)
{
var form = callingElm.form
var state = doShow? "inline":"none"
for(var i=0;i<names.length;i++)
form.elements[names[i]].style.display = state
}
</script>
</head>
<body><form>
yes<input name="something" type="radio" value="yes" checked="checked" onclick="showbox(this,true,['licenceno','activedate'])">
no<input name="something" type="radio" value="no" onclick="showbox(this,false,['licenceno','activedate'])">
<br>
<input name="licenceno" type="text"><br>
<input name="activedate" type="text">
</form>
</body>
</html>
<tr valign="top">
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">License
Number:</font>
</td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input name="license" id="license" type="text" class="f_put" maxlength="30"/>
</font></td>
</tr>
<tr valign="top">
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Active
Date:<span class='small'></span></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input name="active_date" id="active_date" type="text" class="f_put" maxlength="15"/>
</font></td>
</tr>
Thanks
<tr valign="top">
<td>
<div id="license" style="visibility : hidden;">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">License
Number:</font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input name="license" id="license" type="text" class="f_put" maxlength="30"/>
</font></td>
</tr>
<tr valign="top">
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Active
Date:<span class='small'></span></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input name="active_date" id="active_date" type="text" class="f_put" maxlength="15"/>
</font></td>
</tr>
</table>
</div></td>
</tr>
<tr valign="top">
<td><div id="license" style="visibility : hidden;">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">License
Number:</font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input name="license" id="license" type="text" class="f_put" maxlength="30"/>
</font></td>
</tr>
</table>
</div></td>
<td><div id="license2" style="visibility : hidden;">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Active
Date:<span class='small'></span></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input name="active_date" id="active_date" type="text" class="f_put" maxlength="15"/>
</font></td>
</tr>
</table>
</div></td>
</tr>
layers['license2'].style.visibility=v;