Nel codice postato qui sopra, la varaibile valore e` locale.
Per renderla globale devi definirla fuori dalla funzione, oppure non dichiararla (ma dichiararla fuori e` piu` corretto: almeno sei sicuro di cosa stai facendo).
Comunque per il tuo problema c'e` una soluzione migliore (molto piu` chiara e funzionale):
1. la chiamata:
<input type="submit" name="cerca" value="cerca" onclick="return controllo();">
2. la funzione:codice:function controllo(){ if(document.modulo.codice.value==""){ alert("avviso") return false; } return true; }