Newsgroup: it.comp.lang.javascript
Titolo: form che controlla che l'imput è completo

salve!
io devo realizzare una form in cui ci sono una decina di domande. Se mi
dimentico di rispondere a qualche domanda, quando premo il tasto per inviare
la form, vorrei che uno scriptino in javascript mi dicesse che "non hai
risposto a tutte le domande!"
I risultati della form vengono elaborati col php, però questo controllo ho
pensato di farlo col javascript per problemi legati agli header (che sono
già inviati da un'altra pagina)
Conoscete qualche sito dove posso trovare qualche esempio?
grazie e ciao!

<form onsubmit='return tuafunzionediverifica()'>
se nella tua funzione trovi qualcosa che non va e restituisci false la
submit non viene eseguita

 submit non viene eseguita
allora fammi capire bene.
Se la funzione restituisce true, il submit viene eseguito e il controllo
passa alla pagina richiamata dalla form, è così?
Se invece la funzione restituisce false, allora la submit non viene
eseguita.
Quindi io dentro la funzione dovrei inserire del codice che mi controlla che
ho risposto a tutte le domande.

Sě, dovrebbe esser cosě
prova con <form onsubmit='return false'> e (se non sto dicendo stupidate) il
submit non dovrebbe essere eseguito


okay, ti ringrazio, una cosa perň mi sfugge.
Quando il form viene eseguito deve passare il controllo a una pagina in
php... prima facevo in questo modo:
<form method="post" action="elabora.php">
Adesso col javascript dove la specifico questa roba ?
ciao e grazie ancora.

dunque, non ho capito una cosa:
dovrei scrivere cosě?
<form onSubmit="return checkrequired(this)" method="POST"
action="risultati.php">
o cosě?
<form onSubmit="return checkrequired(this)">
Poi ho trovato un esempio su 
html.it
 perň non funziona!
Perchč in pratica:
- se scrivo come nel primo modo, mi scavalca lo script
- se scrivo nel secondo modo, allora se non rispondo a tutte le domande, mi
azzera il form, se rispondo a tutte mi richiama la stessa pagina del form
con le variabili passate nell'url !
Avete qualche suggerimento?
Riporto il codice che ho usato:
--------------
<script>
function checkrequired(which){
 var pass=true
 if (document.images){
     for (i=0;i<which.length;i++){
         var tempobj=which.elements[i]
          if
(((tempobj.type=="radio")&&tempobj.value=='')||(tempobj.type.toString().char
At(0)=="s"&&tempobj.selectedIndex==-1)){
                   pass=false
                   break
         }
      }
}
 if (!pass){
    alert("Non hai risposto a tutte le domande!")
    return false
 }
 else
    return true
}
</script>
--------
e questo č il form che ho fatto io:
---------
<form onSubmit="return checkrequired(this)" method="POST"
action="risultati.php">
      <br> DOMANDA A <br>
      <input type="radio" name="a" value="a1">a1<br>
      <input type="radio" name="a" value="a2">a2<br>
      <input type="radio" name="a" value="a3">a3<br>
      <br> DOMANDA B <br>
      <input type="radio" name="b" value="b1">b1<br>
      <input type="radio" name="b" value="b2">b2<br>
      <input type="radio" name="b" value="b3">b3<br>
<br><input type=submit value="Calcola il Risultato!">&nbsp;&nbsp; <input
type=reset value="Annulla"><br>
</form>

 si`
scrivendo in questo modo, lo javascript mi viene scavalcato sempre, anche se
non rispondo ad alcune domande.