Newsgroup: it.comp.lang.javascript
Titolo: Help!

Ciao a tutti e grazie anticipatamente.
Chi mi aiuta per favore a convalidare il seguente modulo
Premetto che sono agli inizi con JavaScript,
E' possibile che nei tre campi ci siano solo numeri?
Dove va inserito lo script?
sempre se è una domanda plausibile e realizzabile con js.
Grazie a chi mi aiuta con un piccolo commento affianco allo script per capir
meglio.
FORM NAME="form1">
<B>Nome:</B>
<INPUT TYPE="TEXT" NAME="nome" SIZE=15><BR>
<B>Cognome:</B>
<INPUT TYPE="TEXT" NAME="cognome" SIZE=15><BR>
<B>Indirizzo:</B><BR>
<INPUT TYPE="TEXT" NAME="indirizzo" SIZE=25><BR>
<B>Città</B>
<INPUT TYPE="TEXT" NAME="citta" SIZE=20><BR>
<B>Prov.</B>
<INPUT TYPE="TEXT" NAME="prov" SIZE=2><BR>
<B>C.A.P.</B>
<INPUT TYPE="TEXT" NAME="cap" SIZE=5><BR>
<B>Prefisso:</B>
<INPUT TYPE="TEXT" NAME="prefisso" SIZE=5><BR>
<B>Telefono:</B>
<INPUT TYPE="TEXT" NAME="telefono" SIZE=11><BR>

Probabilmente il modo migliore di fare validazione dei campi è usare le
espressioni regolari (in giro trovi parecchia documentazione
sull'argomento).
In pratica tu definisci un modello di stringa da verificare in un linguaggio
particolare (quello delle espressioni regolari appunto) e poi utilizzi la
funzione test per verificare che la stringa coincida con tale modello.
Sotto riporto il tuo esempio con il controllo sui campi numerici da te
richiesto.
Ho aggiunto un bottone di submit.
Sull'evento onClick (quando il bottone viene premuto) del bottone ho
inserito la chiamata alla funzione di validazione. Essa prende come
argomento un puntatore alla form.
Il resto è commentato nel codice
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function validateForm(f)
{
//variabile booleana che dice se i controlli sono tutti ok
 var isAllRight = true;
//variabile che contiene il nome del campo sbagliato (se ce n'è uno)
 var wrongField = "";
//modello dell'espressione regolare (in gergo "pattern")
//metti il segno + al posto di * per rendere il campo obbligatorio
 var reNumber = /^[0-9]+$/;
//controllo il cap
 if (isAllRight)
 {
  if (!reNumber.test(f.cap.value))
  {
   isAllRight = false;
   wrongField = "cap";
  }
 }
 else
  if (wrongField == "")
   wrongField = "cap";
//controllo il prefisso
 if (isAllRight)
 {
  if (!reNumber.test(f.prefisso.value))
  {
   isAllRight = false;
   wrongField = "prefisso";
  }
 }
 else
  if (wrongField == "")
   wrongField = "prefisso";
//controllo il telefono
 if (isAllRight)
 {
  if (!reNumber.test(f.telefono.value))
  {
   isAllRight = false;
   wrongField = "telefono";
  }
 }
 else
  if (wrongField == "")
   wrongField = "telefono";
//se c'è un campo sbagliato lo segnalo all'utente
 if (!isAllRight)
  alert("Il campo "+wrongField+" non è corretto!!!");
//restituisco il responso finale
//se restituisco true vado alla prossima pagina
//altrimenti non faccio nienete
 return isAllRight;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="form1">
<B>Nome:</B>
<INPUT TYPE="TEXT" NAME="nome" SIZE=15><BR>
<B>Cognome:</B>
<INPUT TYPE="TEXT" NAME="cognome" SIZE=15><BR>
<B>Indirizzo:</B><BR>
<INPUT TYPE="TEXT" NAME="indirizzo" SIZE=25><BR>
<B>Città</B>
<INPUT TYPE="TEXT" NAME="citta" SIZE=20><BR>
<B>Prov.</B>
<INPUT TYPE="TEXT" NAME="prov" SIZE=2><BR>
<B>C.A.P.</B>
<INPUT TYPE="TEXT" NAME="cap" SIZE=5><BR>
<B>Prefisso:</B>
<INPUT TYPE="TEXT" NAME="prefisso" SIZE=5><BR>
<B>Telefono:</B>
<INPUT TYPE="TEXT" NAME="telefono" SIZE=11><BR>
<INPUT TYPE="submit" NAME="btnSubmit" onClick="return
validateForm(this.form)"><BR>
</FORM>
</BODY>
</HTML>
Ciao
Ktrl+S