Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305

    ripristino campi disabilitati

    ciao, mi sono fatto sto scriptino per disabilitare dei campi a seconda dello stato di una select:

    <script language="JavaScript">
    function controllo()
    {
    var xx = document.form5.mod.value
    if (xx != "");
    {
    document.form5.foto1.disabled=true
    document.form5.foto2.disabled=true
    document.form5.foto3.disabled=true
    document.form5.foto4.disabled=true
    }

    }
    </script>


    Il tutto funziona tranne per il fatto che se riporto il campo select(mod) a valore "" i campi non vengono riabilitati... come posso fare?

    Ho provato ad aggiungere:
    else if (xx == "");
    {
    document.form5.foto1.disabled=false
    document.form5.foto2.disabled=false
    document.form5.foto3.disabled=false
    document.form5.foto4.disabled=false
    }
    ma non funziona...

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    il volore dell' option selezionata e' questo
    var xx = document.form5.mod.options[document.form5.mod.selectedIndex].value;

    ma l' option che dovrebbe risettarli abilitati ha un value, vero?

  3. #3
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305
    si, diciamo che quell'option che disabilita ha valore vuoto (="" appunto) mentre qualsiasi altro valore (sono tutti numeri interi) dovrebbe riabilitare i campi di tipo "file".

    Su quella SELECT ho messo onchange='controllo()'

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    cosi' non so dirti perche'
    io farei in questo modo e mi risulta funzionare
    codice:
    <script language="JavaScript" type="text/javascript">
    <!--
    function controllo(){
    	var val=document.form5.mod.options[document.form5.mod.selectedIndex].value;
    	var bool=(val=="")?true:false;
    	for(var k=1;k<5;k++){
    		document.form5.elements['foto'+k].disabled=bool;
    	}
    }
    //-->
    </script>
    codice:
    <form name="form5">
    <select name="mod" onchange="controllo()">
    <option value="">disabilita</option>
    <option value="0">altro che abilita</option>
    <option value="1">altro che abilita</option>
    <option value="2">altro che abilita</option>
    <option value="3">altro che abilita</option>
    </select>
    
    <input type="file" name="foto1" disabled="disabled" />
    
    <input type="file" name="foto2" disabled="disabled" />
    
    <input type="file" name="foto3" disabled="disabled" />
    
    <input type="file" name="foto4" disabled="disabled" />
    
    </form>
    ciao

  5. #5
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305
    Grazie Xinod, ma adesso lo script funziona esattamente al contrario di come dovrebbe

    In pratica se l'option ha valore vuoto i campi file devono essere abilitati e se ha qualsiasi altro valore vengono disabilitati;

    ho provato a modificarlo cosi ma non funzia:

    <script language="JavaScript" type="text/javascript">
    <!--
    function controllo(){
    var val=document.form5.mod.options[document.form5.mod.selectedIndex].value;
    var bool=(val!="")?true:false;
    for(var k=1;k<5;k++){
    document.form5.elements['foto'+k].disabled=bool;
    }
    }
    //-->
    </script>

  6. #6
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305
    help Xinod

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    non posso credere che se cambi
    var bool=(val=="")?true:false;
    in
    var bool=(val!="")?true:false;

    non va al contrario!

    chiaramente nulla ti vieta di invertire i valori

    var bool=(val=="")?true:false;
    diventa
    var bool=(val=="")?false:true;

  8. #8
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305
    Re:
    infatti avevo provato anche con

    var bool=(val=="")?true:false;
    diventa
    var bool=(val=="")?false:true;

    spetta che controllo ancora, purtroppo molte volte faccio ca**ate nella sintassi e mi perdo in un bicchier d'acqua...

  9. #9
    Utente di HTML.it L'avatar di renzoz
    Registrato dal
    May 2001
    Messaggi
    305
    UAUUUUUU FUNZIONA!!!!

    Perfettamente con il tuo codice, solo che ho dovutoi togliere i disabled="disabled" erano quelli che praticamente inibivano la funzione.

    Grazie, mi sei stato di grande aiuto!

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.