Ho questo script (di eserczio) in cui erifico se ci sono dati nel form, mostro un alert e poi vorrei attivare la visibilità di un div: il problema è che me lo attiva per un attimo poi scompare. Cosa sbaglio?
<HTML>
<HEAD><TITLE></TITLE>
<script type="text/javascript">
function visualizza (){
var flag=false;
var errori=0;
var qualecampo="";
var nomediv="";
for (i=0; i<document.forms[0].elements.length; i++) {
if (document.forms[0].elements[i].type == "text" ) {
if (document.forms[0].elements[i].value=="") {
flag=true;
errori =errori+1;
qualecampo +=" -" + document.forms[0].elements[i].name+ "\n";

}
}
}
if (flag) {
alert ("Campi mancanti: " +errori +"\nI campi sono:\n" +qualecampo);
document.getElementById('vis').style.visibility = 'visible';
}
}


</script>

</HEAD>
<BODY>
<FORM id="pippo" onsubmit="return visualizza()" onreset="return confirma()">
<INPUT id="primo" name="Nome" type="text">Nome</INPUT>

<INPUT id="secondo" name="Indirizzo" type="text">Indirizzo</INPUT>

<INPUT type="submit" value="Vai">

<DIV id="vis" style="visibility:hidden;">Mancano dati</DIV>
</FORM>
</BODY>
</HTML>