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

    Input text attivabile da una select

    Ciao a tutti,
    come posso creare un piccolo script che tramite select con value="1" mi attivi un campo di tipo input text mentre se è value="0" me lo disattiva?

    Grazie

  2. #2
    Metti due id ai campi interessati (tipo select id ="MySel" input id = "MyInp")

    Poi fai:

    codice:
    <script type="text/javascript">
      window.onload = function(){
         var sel = document.getElementById("MySel");
         sel.onchange = ActivateOnValue;
      }
    
      var ActivateOnValue = function(id){
         var inpt = document.getElementById(id);
         if(this.options[this.selecteIndex].value == '1'){
            //Attivo
            inpt.removeAttribute('disabled');
         }
         else{
            //Disattivo
            inpt.setAttribute('disabled', 'disabled');
         }
      }
    </script>
    A questo punto al cambiamento della select l'input verrà abilitato o meno a seconda del value selezionato.
    I DON'T Double Click!

  3. #3
    Ciao e Grazie per la risposta,
    ho incollato il tuo script nell'head della pagina e ho applicato gli ID sia alla select che all'input cosi facendo:

    codice:
    <select name="tipo" id="MySel">
     <option selected value="0">Interno al sito</option>
     <option value="1">Esterno al sito (link)</option>
    </select>
    e

    codice:
    <input type="text" name="tlink" maxlength="200" size="75" id="MyInp" />
    Ma non funge!

  4. #4
    uh, hai ragione anche tu... avevo pensato ad una cosa prima, ma poi l'ho cambiata senza aggiornare lo script. E c'è anche un errore di sintassi

    codice:
    <script type="text/javascript">
      window.onload = function(){
         var sel = document.getElementById("MySel");
         sel.onchange = ActivateOnValue;
      }
    
      var ActivateOnValue = function(){
         var inpt = document.getElementById('MyInp');
         if(this.options[this.selectedIndex].value == '1'){
            //Attivo
            inpt.removeAttribute('disabled');
         }
         else{
            //Disattivo
            inpt.setAttribute('disabled', 'true');
         }
      }
    </script>
    Poi un appunto, se fai partire la select con lo 0 selezionato, devi far partire anche l'input con disabled="true"
    codice:
    <select name="tipo" id="MySel">
     <option selected="selected" value="0">Interno al sito</option>
     <option value="1">Esterno al sito (link)</option>
    </select>
    
    <input type="text" name="tlink" disabled="true"  maxlength="200" size="75" id="MyInp" />
    I DON'T Double Click!

  5. #5
    Perfetto!
    Ti ringazio


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 © 2026 vBulletin Solutions, Inc. All rights reserved.