Je n'arrive pas à afficher une zone de texte suivant la sélection d'une liste déroulante (valeur issue d'une table)

dans body

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<select name="categorie" id="categorie" onchange="affichercategorie(this)">
        <option value='<?php echo $numcat; ?>'><?php echo $categorie; ?></option>
        <?php
                        $sql="SELECT NUMCAT, TYPECAT FROM patrimoine_categorie ORDER BY TYPECAT;";
                         
                        $exec=mysql_query($sql,$connec);
                         
                        while ($ligne=mysql_fetch_array($exec))
                        {
                                $id = $ligne['NUMCAT'];
                                $lib = $ligne['TYPECAT'];
                ?>
        <option value= '<?php echo $id;?>'><?php echo $lib;?> </option>
        <?php
                        }
                        ?>
      </select>&nbsp;<input name="newcat" id="newcat" type="text" size="20" style="visibility:hidden"/>
dans head

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<SCRIPT LANGUAGE="JavaScript">
function affichercategorie()
{
	if (document.getElementById("categorie").value == "Autres")
	{
		document.getElementById("newcat").style.visibility = "visible";  
	}
	else
	{
		document.getElementById("newcat").style.visibility = "hidden"; 
	}
</SCRIPT>