Jump to content

Archived

This topic is now archived and is closed to further replies.

allydm

Showing/Hiding fields Help

Recommended Posts

Hi there. I have a form with a drop down selection box, and if someone selects the option in it called 'Other' then i would like a text entry box to appear.

So far i have...

[code]<select name="subject" id="subject">
    <option value="Purchasing Artwork">Purchasing Artwork</option>
    <option value="Viewing Artwork">Viewing Artwork</option>
    <option value="Commissions">Commissions</option>
    <option value="Other" onSelect="document.getElementById('iAmHidden').style='visibility:visible;';" />Other</option>
</select>

<div style="visibility:hidden; display:none;" id="iAmHidden">
<input name="reason" type="text" id="reason" value="Please Specify">
</div>[/code]

However this isn't achieving the effect i'm after (the box won't display!). Can anyone see why? Or suggest a better code.

Thanks for any help guys/gals.

Alex.

Share this post


Link to post
Share on other sites
Try:
[code]<select name="subject" id="subject">
    <option value="Purchasing Artwork">Purchasing Artwork</option>
    <option value="Viewing Artwork">Viewing Artwork</option>
    <option value="Commissions">Commissions</option>
    <option value="Other" onSelect="document.getElementById('iAmHidden').style.visibility = 'visible';" />Other</option>
</select>

<div style="visibility: hidden;" id="iAmHidden">
<input name="reason" type="text" id="reason" value="Please Specify">
</div>[/code]

Share this post


Link to post
Share on other sites
Hi.

Unfortunatly it is still not showing even when the 'Other' option is selected.

Any ideas?

Thanks.

Share this post


Link to post
Share on other sites
You can't use onselect for an OPTION tag... use onchange on the SELECT tag instead.

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.