funge benissimo, grazie
Solo un'altra domanda: richiamando controlla() con onBlur sui campi, piuttosto che con onSubmit sul pulsante SUBMIT , anche in caso di input errato e di conseguente messaggio d'errore, alla pressione del tasto SUBMIT il browser caricherà comunque la pagina successiva e, di fatto, non sarà "bloccato" in caso d'errore...
Avevo provato a rimediare così, aggiungendo una variabile booleana globale, ma sebbene la logica sembri buona, di fatto non funziona:
Suggerimenti...?codice:<html> <head> <script> var corretto = false; function submit() { return corretto; } function controlla(campo, errore) { var ricerca = document.getElementById(campo).value; var el = document.getElementById(errore); if(ricerca=="") { el.style.display = "block"; el.innerHTML="errore: hai inserito il campo vuoto"; corretto = false; } if(!ricerca.match(/^\d+([\.]\d*)?$/)) { el.style.display = "block"; el.innerHTML="errore: hai inserito caratteri vietati,sono ammesse solo cifre ed il punto!"; corretto = false; } corretto = true; } </script> </head> <body> <form name="MyForm" ACTION="http://localhost/cgi-bin/xxx.cgi" method="POST" onsubmit="return submit();"> <input type="text" name="mytext" id="mytext" onBlur="return controlla('mytext', 'errore1');"> <font color="red" size="1"><div id="errore1" style="height: 10px;"> </div></font> <input type="text" name="mytext2" id="mytext2" onBlur="return controlla('mytext2', 'errore2');"> <font color="red" size="1"><div id="errore2" style="height: 10px;"> </div></font> <input type="SUBMIT" VALUE="Calculate"> <input type="reset" value="Reset"> </form> </body> </html>


Rispondi quotando