Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    disabilitare/abilitare campi a seconda della select

    avrei questo quesito, tempo fa me lo hanno proposto in un esame e non ho saputo mai risolverlo:

    io ho questa select:
    <select name="tipo" id="tipo" class="testo">
    <option>- Seleziona il tipo -</option>
    <option value="Concorso" onChange="check('concorso')">Concorso</option>
    <option value="Gara" onChange="check('gara')">Gara</option>
    <option value="Appalto" onChange="check('appalto')">Appalto</option>
    </select>

    ora a seconda che se scelgo concorso, gara o appalto devo abilitare/disabilitare il campo:

    <input name="importo" type="text" id="importo" size="10" maxlength="15" disabled>

    infatti se scelgo gara, o appalto questo campo deve abilitarsi, se scelgo concorso deve restare disabilitato...

    GLi ho associato questa funzione javascript:
    function check(field){
    var importo = document.form.importo;
    field = document.getElementById(id_field);
    if (field == 'concorso'){
    importo.addAttribute("disabled");
    }
    }

    ma cosi come ho scritto non mi funziona dove sbaglio?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    puoi risolvere in modi diversi, questo non e' il migliore, ma almeno valuti 2 condizioni diverse (che il selectedIndex sia diverso da zero, quando - Seleziona il tipo - e' selezionato, e che il value dell' option selezionata sia esattamente quello che ti attendi)
    codice:
    <script type="text/javascript">
    function check(sel,theForm){
      if(sel.selectedIndex!=0){
        var val=sel.options[sel.selectedIndex].value
        if(val=='Gara' || val=='Appalto'){
          theForm.importo.disabled=false;
        }
        else theForm.importo.disabled=true;
      }
      else theForm.importo.disabled=true;
    }
    </script>
    <form>
    <select name="tipo" id="tipo" class="testo" onChange="check(this,this.form)">
    <option>- Seleziona il tipo -</option>
    <option value="Concorso">Concorso</option>
    <option value="Gara">Gara</option>
    <option value="Appalto">Appalto</option>
    </select>
    <input name="importo" type="text" id="importo" size="10" maxlength="15" disabled>
    </form>
    ciao

  3. #3
    CIAO e grazie per l'intervento, senti e se ho 2 tag da abilitare/disablitare?

    ad esempio:

    <input name="importo" type="text" id="importo" size="10" maxlength="15">
    <input name="importo_cent" id="importo_cent" type="text" maxlength="4" size="4">

    come devo modificare la funzione?

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    non l' hai passato l' esame, eh?
    codice:
    <script type="text/javascript">
    function check(sel,theForm){
      if(sel.selectedIndex!=0){
        var val=sel.options[sel.selectedIndex].value
        if(val=='Gara' || val=='Appalto'){
          theForm.importo.disabled=false;
          theForm.importo_cent.disabled=false;
        }
        else {
          theForm.importo.disabled=true;
          theForm.importo_cent.disabled=true;
        }
      }
      else {
        theForm.importo.disabled=true;
        theForm.importo_cent.disabled=true;
      }
    }
    </script>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.