Newsgroup: it.comp.lang.javascript
Titolo: Chi mi aiuta! allego codice

Ho un modulo con varie select e dei campi di input Text quello che vorrei è
che dal lato client con un javascript quando si selezione un'opzione della
select un campo text venga nascosto. come posso fare.
Allego il codice abbreviato.
Grazie Beppe
<%@ Language=VBScript %>
<html>
<head>
<title>Richiesta Abilitazione</title>
</head>
<script language="JavaScript">
  function valid_fields()
  {
   if((document.form1.Utente.value.length == 0 ) ||
      (document.form1.Email.value.length == 0 )  ||
      (document.form1.TelRif.value.length == 0 ))
     {
        alert("E' necessario riempire il campo \"Utente\" - \"Email\" -
\"Telefono Rif.\".\nPer poter Proseguire. Grazie.");
        document.form1.Utente.focus();
        return false;
     }
  return true
  }
  function check_char(test)
 {
         str = new String(test.value);
         con = 0;
         cc = str.charAt(0);
         if(cc == " " || str.length <1)
         {
           alert("Il campo non contiene valori corretti");
       test.value = "";
       test.focus();
     }
         else
         {
                 for(k = 0; k < str.length; k++)
                 {
                    c = str.charAt(k);
                    if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')
|| (c== '_') || (c== '-') || (c == ' ')  || (c == '.') || (c == '£') || (c
== '@') || (c == '/') || (c == "'")))
                    {
                                 con++;
                    }
                 }
                 if(con > 0)
                 {
                     alert("Il campo contiene caratteri non consentiti");
                     test.value = "";
                     test.focus();
                 }
         }
 }
 function check_pwd(test)
 {
  str = new String(test.value);
  con = 0;
  if(str.length < 6 || str.length > 10)
  {
        alert("Il campo password deve essere compreso tra 6 e 10
caratteri");
        test.value = "";
        test.focus();
     }
     else
  {
   for(k = 0; k < str.length; k++)
         {
       c = str.charAt(k);
          if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >=
'0' && c <= '9') || (c == '.') || (c == '_') || (c == '-')))
          {
           con++;
          }
      }
      if(con > 0)
      {
       alert("Il campo contiene caratteri non consentiti");
       test.value = "";
       test.focus();
      }
  }
 }
 function check_ntr(test)
 {
   str = new String(test.value);
   con = 0;
         for(k = 0; k < str.length; k++)
         {
            c = str.charAt(k);
            if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >=
'0' && c <= '9') || (c== "/")))
            {
                 con++;
            }
         }
         if(con > 0)
         {
             alert("Il campo contiene caratteri non consentiti");
             test.value = "";
             test.focus();
         }
 }
 function check_Num(test)
 {
   str = new String(test.value);
   con = 0;
   for(k = 0; k < str.length; k++)
   {
      c = str.charAt(k);
      if (!(c >= '0' && c <= '9'))
      {
            con++;
      }
   }
   if(con > 0)
   {
       alert("Il campo contiene caratteri non consentiti");
       test.value = "";
       test.focus();
   }
 }
  function checkDate(test)
  {
   if(!(check_Data(test.value)))
   {
       alert("Il campo data non è nel formato corretto o la data inserita
non è valida");
       test.value = "";
       test.focus();
   }
  }
      function check_Data(st)
        {
       var dt = new Date(); // Establishes a specific date for the object.
    dt.setDate(st.substr(0, 2 ));
    dt.setMonth(st.substr(3, 2 )-1);
    dt.setYear(st.substr(6, 4 ));
    y = dt.getYear();
    if( y < 1900)
     y = y + 1900;
               if(st.length > 10)
               {
                 return false;
            }
            else if(st.charAt(2) != '/' || st.charAt(5) != '/' )
            {
                return false;
               }
            else if(dt.getDate() != st.substr(0, 2 ))
            {
                return false;
               }
            else if((dt.getMonth()+1)!=st.substr(3, 2 ))
            {
                return false;
               }
            else if(y!=st.substr(6, 4 ) || st.substr(6, 4 )<1900)
            {
                return false;
               }
      return true;
        }
</script>
<body bgproperties="fixed" bgcolor="white" link="#483d8b" alink="#483d8b"
vlink="#483d8b" topmargin="0" leftmargin="0" marginwidth="0"
marginheight="0">
<table border="0" cellpadding="0" cellspacing="0" width="752" height="82">
  <tr height="80">
    <td width="211" height="80" align="right"><img height="80" width="210"
src="../marchio.gif"></td>
    <td width="541" height="80"><img height="80" width="539"
src="header.jpg" alt="Testata Logo"></td>
  </tr>
</table>
<div align="center">
  <p><font size="2"><b><font face="Arial, Helvetica, sans-serif"
color="#000099">Servizio
    Gestione Operativa e Sistemistica - Ufficio
Sicurezza</font></b></font></p>
  <form method="post" action="email.asp" id="form1" name="form1"
onsubmit="return valid_fields();">
    <table width="100%" border="0" height="431">
      <tr>
        <td width="12%" align="left" valign="middle" height="23"><font
size="1" face="Arial, Helvetica, sans-serif"><b><font
color="#000099">Società:</font></b></font></td>
        <td width="33%" height="23"> <font size="2">
          <select name="societa" size="1">
            <option value="1">Tizio</option>
            <option value="2">Caio</option>
            <option value="3">Pippo</option>
            <option value="4">Previdenza</option>
            <option value="5">Sistema</option>
            <option value="6">Group</option>
            <option value="7">Altro: da inserire nelle Note</option>
          </select>
          </font></td>
        <td width="13%" height="23"><font size="1" face="Arial, Helvetica,
sans-serif" color="#000099">Data
          decorrenza:</font></td>
        <td height="23" colspan="2"> <font size="2">
          <input readonly type="text" name="DataDec" maxlength="10"
size="10" value="<%Response.Write date()%>">
          </font></td>
      </tr>
      <tr>
        <td width="12%" valign="middle" height="10"><font size="2"><b><font
face="Arial, Helvetica, sans-serif" size="1"
color="#000099">Direzione/Divisione:</font></b></font></td>
        <td width="33%" height="10"><font size="2">
          <select name="Direzione" size="1">
            <option value="1">Direzione Commerciale</option>
            <option value="2">Direzione Amministrativa</option>
            <option value="3">Direzione Risorse Umane e Servizi</option>
            <option value="4">Direzione Generale</option>
            <option value="5">Direzione Finanziaria di Gruppo</option>
            <option value="6">Direzione Business Unit e Vita</option>
            <option value="7">Direzioni Affari e Persone</option>
            <option value="8">Direzione Affari Societari di Gruppo</option>
            <option value="9">Direzioni Sinistri</option>
            <option value="10">Direzioni Sistemi Informativi</option>
            <option value="11">Direzione Tecnica</option>
            <option value="12">DirezioneEstero</option>
            <option value="13">Direzione S.p.A.</option>
            <option value="14">Direzione CA</option>
            <option value="15">Risparmio</option>
            <option value="16">Altro</option>
          </select>
          </font></td>
        <td width="13%" valign="middle" height="10"><font size="2"><b><font
size="1" face="Arial, Helvetica, sans-serif" color="#003399">Servizio
          Rich.te:</font></b></font></td>
        <td height="10" colspan="2"><font size="2">
          <select name="Divisione" size="1">
            <option value="1"></option>
            <option value="2">Servizio Contabilità Generale</option>
            <option value="3">Servizio Contabilità Immobiliare</option>
            <option value="4">Servizio Contabilità Intermedia</option>
            <option value="5">Servizio Contabilità Sinistri</option>
            <option value="6">Servizio Conservazione Portafoglio</option>
            <option value="7">Servizio Gestione Contatti</option>
            <option value="8">Servizio Archivio</option>
            <option value="9">Servizi Generali</option>
            <option value="10">Servizio Personale</option>
            <option value="11">Servizio Segreteria Tecnica</option>
            <option value="12">Servizio Soci</option>
            <option value="13">Pianificazione e Controllo di Gruppo</option>
            <option value="14">Direzione Banche</option>
            <option value="15">Servizio Comm.le Agenti e Promotori</option>
            <option value="16">Attuariato</option>
            <option value="17">Servizio Sviluppo Prodotti</option>
            <option value="18">Servizio Banca Assic.ne Danni</option>
            <option value="19">Servizio Portafoglio</option>
            <option value="20">Servizio Collettive e Fondi Pensione</option>
            <option value="21">Servizio Assunzione</option>
            <option value="22">Servizio Clienti e Reclami</option>
            <option value="23">Servizio Auto</option>
            <option value="24">Servizio Infortuni Malattie e Ass.za</option>
            <option value="25">Servizio Tutela Giudiziaria</option>
            <option value="26">Servizio Sinistri Esteri e F.G.V.S.</option>
          </select>
          </font></td>
      </tr>
      <tr>
        <td width="12%" height="18" valign="middle"><font size="1"
face="Arial, Helvetica, sans-serif" color="#000099">Cognome
          e Nome Utente:</font></td>
        <td width="33%" height="18"><font size="2">
          <input type="text" name="Utente" maxlength="40" size="40"
onchange="check_char(document.form1.Utente);">
          </font></td>
        <td width="13%" height="18" valign="middle"><font size="1"
face="Arial, Helvetica, sans-serif" color="#000099">Cod.
          Personale:</font></td>
        <td width="15%" height="18" valign="middle"><font size="2">
          <input type="text" name="CodUte" maxlength="10" size="10"
onchange="check_Num(document.form1.CodUte);">
          </font></td>
        <td width="27%" height="18" valign="middle"><font size="1"
face="Arial, Helvetica, sans-serif" color="#000099">Utenza:
          <input type="text" name="Utenza" size="7" maxlength="7"
onchange="check_char(document.form1.Utenza);">
          </font></td>
      </tr>
      <tr>
        <td width="12%" height="21"><font size="1" face="Arial, Helvetica,
sans-serif" color="#000099">E-Mail:</font></td>
        <td width="33%" height="21">
          <input type="text" name="Email" maxlength="60" size="40">
        </td>
        <td width="13%" valign="middle" height="21"><font size="1"
face="Arial, Helvetica, sans-serif" color="#000099">Tel.
          di Riferimento:</font></td>
        <td height="21" colspan="2">
          <input type="text" name="TelRif" maxlength="10" size="10"
onchange="check_Num(document.form1.TelRif);">
        </td>
      </tr>
      <tr>
        <td colspan="2" valign="middle" height="3"><font size="2"><b><font
face="Arial, Helvetica, sans-serif" color="#000099">Attività
          Richiesta:</font></b></font><font size="2"
color="#000099"></font></td>
        <td width="13%" height="3"><font size="2"></font></td>
        <td height="3" colspan="2"><font size="2"></font></td>
      </tr>
      <tr>
        <td width="12%" height="10"><font size="2"></font></td>
        <td width="33%" height="10"><font size="2"><b><font face="Arial,
Helvetica, sans-serif" size="1" color="#000099">Creazione
          Nuovo Utente:</font></b></font></td>
        <td width="13%" height="10"><font size="2">
          <input type="Radio" name="RadioUno" value="1">
          </font></td>
        <td height="10" colspan="2"><font size="2"></font></td>
      </tr>
      <tr>
        <td width="12%" height="11">&nbsp;</td>
        <td width="33%" height="11"><font size="1" face="Arial, Helvetica,
sans-serif" color="#000099">Utenza
          autorizzata all'uso del TSO</font></td>
        <td width="13%" height="11"><font size="2">
          <input type="checkbox" name="AutTso" value="1">
          </font></td>
        <td height="11" colspan="2">&nbsp;</td>
      </tr>
      <tr>
        <td width="12%" height="12">&nbsp;</td>
        <td width="33%" height="12"><font size="1" face="Arial, Helvetica,
sans-serif" color="#000099">Utenza
          autorizzata all'uso del CICS</font></td>
        <td width="13%" height="12">
          <input type="checkbox" name="AutCics" value="2">
        </td>
        <td height="12" colspan="2">&nbsp;</td>
      </tr>
      <tr>
        <td colspan="2" height="21">
          <div align="left"><font size="1" face="Arial, Helvetica,
sans-serif"><b><font color="#000099">Eventuale
            Utente di Riferimento per abilitazioni particolari
:</font></b></font></div>
        </td>
        <td colspan="3" height="21">
          <input type="text" name="AbPart" maxlength="45" size="45"
onchange="check_char(document.form1.AbPart);">
        </td>
      </tr>
      <tr>
        <td width="12%" height="14">&nbsp;</td>
        <td width="33%" height="14"><font size="2"><b><font size="1"
face="Arial, Helvetica, sans-serif" color="#000099">Variazione
          Attività Utente già esistente:</font></b></font></td>
        <td width="13%" height="14">
          <input type="Radio" name="RadioUno" value="2">
        </td>
        <td height="14" colspan="2">&nbsp;</td>
      </tr>
      <tr>
        <td width="12%" height="20">&nbsp;</td>
        <td width="33%" height="20"><font size="1" face="Arial, Helvetica,
sans-serif" color="#000099">Servizio
          di provenienza</font></td>
        <td colspan="3" height="20">
          <input type="text" name="SerPro" maxlength="45" size="45"
onchange="check_char(document.form1.SerPro);">
        </td>
      </tr>
      <tr>
        <td width="12%" height="20">&nbsp;</td>
        <td width="33%" height="20"><font size="1" face="Arial, Helvetica,
sans-serif" color="#000099">Servizio
          di destinazione</font></td>
        <td colspan="3" height="20">
          <input type="text" name="SerDes" maxlength="45" size="45"
onchange="check_char(document.form1.SerDes);">
        </td>
      </tr>
      <tr>
        <td width="12%" height="10">&nbsp;</td>
        <td width="33%" height="10"><font size="2"><b><font size="1"
face="Arial, Helvetica, sans-serif" color="#000099">Cessazione
          Attività:</font></b></font></td>
        <td width="13%" height="10">
          <input type="Radio" name="RadioUno" value="3">
        </td>
        <td height="10" colspan="2">&nbsp;</td>
      </tr>
      <tr>
        <td width="12%" height="52">
          <div align="right"><b><font size="1" face="Arial, Helvetica,
sans-serif" color="#000099">Note:</font></b></div>
        </td>
        <td colspan="4" height="52"><font size="2"> </font><font size="2">
          <textarea name="Note" cols="70"></textarea>
          </font></td>
      </tr>
    </table>
    <p align="center">
    <input type="image" src="invia.jpg" border="0" name="submit"
value="Invia" WIDTH="88" HEIGHT="27">
    <a href="
http://nt12
"><img src="ritorna.jpg" border="0" alt="Ritorna"
WIDTH="88" HEIGHT="27"></a>
    </p>
  </form>
</div>
</script>
</body>
</html>


[]
Se deve funzionare anche con NS4.x, credo che l'unico modo sia inserire
i campi da nascondere in un nuovo form (o piu' form) all'interno di un
layer (o piu') da visualizzare e nascondere.
Se l'utilizzo e' solo con IE e NS6:
Puoi cambiare la visibilita' *visibility* (mantenendo la struttura della
pagina) o il disegno *display* (la struttura si modifica) sul onChange
della select.
Serve qualche indicazione in piu'.
Saluti, Paolo