Ciao, ho un problema con la validazione dei campi select in un form.
Sto utilizzando uno script java che controlla correttamente tutti i campi tranne il select appunto.
Dalle ricerche in rete ho visto che l'argomento e ultra ritrattato, ma ne ho provate di tutte e qualsiasi modifica inserisco, invalida anche il controllo degli altri campi.
Per farla breve il codice che sto utilizzando è questo:

java
codice:
<script type="text/javascript">
// <![CDATA[
function controlla(form)
{
 for (i = 0; i < form.length; i++)
 {
 var campo = form.elements[i];
  if (!campo.disabled && !campo.readonly && (campo.type == "text" || 

campo.type == "password" || campo.type == "textarea") && campo.value == "")
 {
 alert("Tutti i campi sono obbligatori!");
 return false;
 }
 }
 return true;
}
// ]]>
</script>
html
codice:
<td align="left" valign="top">
          <form action="preventivi.php" method="post" name="form1" onsubmit="if (controlla(this)) return true; return false">
           

Cognome e nome: 

              <input name="nome" type="text" id="nome" size="70" maxlength="70" />
              <label for="nome"></label>
              <label for="nome"></label>
            </p>
            

Email:

              <input name="email" type="text" id="email" size="35" />
          </p>
            

Numero di telefono:

            <input name="telefono" type="text" id="telefono" size="35" /></p>
            

Provincia:

            <select name="provincia" size="1">
              <option selected="selected">   </option>
                  <option>Alessandria</option>
                  <option>Asti</option>
                  <option>Bergamo</option>
              		<option>Biella</option>
                  <option>Brescia</option>
                  <option>Como</option>
                  <option>Cremona</option>
                  <option>Cuneo</option>
                  <option>Lodi</option>
                  <option>Mantova</option>
                  <option>Milano</option>
                  <option>Novara</option>
                  <option>Pavia</option>
                  <option>Piacenza</option>
                  <option>Sondrio</option>
                  <option>Torino</option>
                  <option>Varese</option>
                  <option>Verbano-Cusio-Ossola</option>
                  <option>Vercelli</option>
             </select></p>
            

Comune:
<input name="comune" type="text" size="70" maxlength="70" /></p>
            

Preventivo per:
 
            	<select name="lavoro" size="1">
                <option selected="selected">Seleziona</option>
              <option>Fotovoltaico</option>
              <option>Ristrutturazioni edili</option>
              <option>Impianti elettrici</option>
              <option>Impianti d'allarme</option>
              <option>Impianti di videosorveglianza</option>
              <option>Automazione cancelli/persiane</option>
              <option>Condizionatori</option>
              <option>Installazione caldaie</option>
              <option>Impianti di riscaldamento</option>
              <option>Solare termico</option>
              <option>Traslochi</option>
              <option>Certificazione energetica</option>
              <option>Imbianchino/cartongesso</option>
              <option>Cablaggi strutturati</option>
              <option>Siti web</option>
              <option>Idraulico</option>
              <option>Tariffe telefonia fissa e mobile</option>
              <option>Fabbro</option>
              </select></p>
            

Informazioni aggiuntive:

              <textarea name="informazioni" cols="60" rows="7">Maggiori sono le informazioni inviate, più accurati e precisi potranno essere i preventivi ricevuti</textarea>
            </p>
            

Acconsento al trattamento dei dati personali 
              <input name="privacy" type="checkbox" id="privacy" checked="checked" />
              <label for="privacy"></label>
<label for="privacy"></label>
            </p>
            <input type="submit"  value="Invia i dati per ricevere i preventivi gratuiti"  name="submit" /></form>
              </td>