Emanuele, quando richiami la funzione nel link, l'id dell'elemento che le passi va messo tra apici.
Inoltre c'è un errore di parentesi tonde nel primo eval() (una tonda di troppo in chiusura).
Ecco qua la funzione corretta:
codice:
<SCRIPT Language="Javascript" TYPE="text/javascript">
<!--
function exp(w) {
if (eval("document.getElementById(\""+w+"\").style.display == \"none\";"))
{ eval("document.getElementById(\""+w+"\").style.display = \"block\";"); }
else
{ eval("document.getElementById(\""+w+"\").style.display = \"none\";"); }
return;
}
//-->
</SCRIPT>
visualizza/nascondi
Anche se id non è un una parola chiave riservata a Javascript o a Java o per le estensioni ECMA o un identificatore, conviene non usarlo come argomento di una funzione per non confondersi.
Inoltre nell'uso di eval() per aumentare la leggibilità del codice puoi sostituire le doppie virgolette backslashate con gli apici.
La tua funzione diverrebbe:
codice:
<SCRIPT Language="Javascript" TYPE="text/javascript">
<!--
function exp(w) {
if (eval("document.getElementById('"+w+"').style.display=='none';"))
{ eval("document.getElementById('"+w+"').style.display='block';"); }
else
{ eval("document.getElementById('"+w+"').style.display='none';"); }
return;
}
//-->
</SCRIPT>
Non ti sembra una soluzione migliore?