Problema coi Form: disabilitare campo testo

ferenczi

Nuovo Utente
1 Dic 2006
1
0
0
Ciao,

ho un form con due text fields (input).
Ho disabilitato il primo con l'attributo
disabled="disabled".

Ora: vorrei che mi aiutaste nella creazione
di uno script per abilitare queto campo
qualora nel secondo venga inserita la parola
"attivo". Questo è un campo password.

I nomi dei due campi sono "c01" e "c02", mentre
il nome del form è "erre".

Grazie
 
Questa domanda l'ho trovata molto interessante e seppur datata credo meriti una risposta, almeno per i futuri visitatori.

La mia idea è questa:

Richiamare una funzione che verifica il contenuto dell'input con l'evento onkeyup di javascript che si attiva non appena lasciato il tasto premuto

HTML:
<html>
    <head>
        <script type="text/javascript">            
            function verifica(valore) {
                // controllo il contenuto di valore
                if(valore=='attivo') {  
                    // riabilito il campo testo
                    document.getElementById('c01').disabled = false;
                    // annullo il value
                    document.getElementById('c01').value="";
                    // metto il focus
                    document.getElementById('c01').focus();
                }
            }
        </script>
    </head>
    <body>
        <form method="post" action="">
            <input type="text" name="c01" id="c01" value="disabled"/>
            <input type="password" name="c02" id="c02" onkeyup="verifica(this.value)"/>
        </form>
        <script type="text/javascript">
            // disabilito il campo testo
            document.getElementById('c01').disabled = true;
        </script>
    </body>
</html>
 
Ciao, criric

in questo modo anche se richiesta una frase esatta nel campo c02, per abilitare c01, dopo che c01 è stato abilitato non è possibile disabilitarlo se viene scritto un'altro carattere o cancellato.

Io opterei per disabilitare il campo c01 con disableb="disabled" , dopo cambi lo stato da disabilitato a abilitato solo se la frase è esatta.


Codice:
<html>
    <head>
        <script type="text/javascript">            
            function verifica(valore) {
                // controllo il contenuto di valore
                if(valore=='attivo') {  
                // riabilito il campo testo
                document.getElementById('c01').disabled = false;
                // annullo il value cancello il testo preimpostato
                document.getElementById('c01').value="";
                // metto il focus
		document.getElementById('c01').focus();
		}else{
		// disabilito il campo testo se la frase 'attivo' non è esatta
                // se viene aggiunta a canceellata una lettera dal campo
                document.getElementById('c01').disabled = true;   
                // riscrivo la frase 'disabilitato' nel campo
		document.getElementById('c01').value="disabilitato";
		}
            }
        </script>
    </head>
    <body>
        <form method="post" action="">
            <input type="text" name="c01" id="c01" value="disabilitato" disabled="disabled" />
            <input type="password" name="c02" id="c02" onkeyup="verifica(this.value)"/>
        </form>
    </body>
</html>

Valeria.
 
Ultima modifica:
Come al solito sei molto attenta e precisa

io non ci avevo nemmeno pensato

ovviamente quoto :fonzie:
 

Discussioni simili