• User

    Aiuto input text

    Salve a tutti,
    Avrei possibilmente bisogno di un aiuto,

    Avrei bisogno del codice per un input text,

    Praticamente vorrei che al caricamento della pagina in questo modulo text ci sia già del testo precompilato (grigio);
    Al momento in cui si clicca nel modulo text per scrivere vorrei che il testo che sto scrivendo sia di un colore diverso da quello iniziale precompilato (nero), e se dopo aver compilato il modulo mi sposto da esso il testo inserito rimane nero,
    invece se non ci scrivo niente ritorna il testo precompilato iniziale del colore grigio.

    Grazie mille anticipatamente delle risposte
    spero di essere stato chiaro


  • User Attivo

    Puoi dare, via css, un color:gray agli elementi input.
    Poi, dai un id all'input e aggiungi un onclick...
    Ad esempio:

    
    <style type="text/css">
    input {
    color: gray;
    }
    </style>
    
    

    e

    
    <input id="cambia_colore" onclick="document.getElementById('cambia_colore').style.color='black';" name="campo1" value="ciao" />
    
    

    Ricorda che se hai altri campi che si devono comportare nello stesso modo, devi cambiare gli id.


  • User

    @tigrone said:

    Puoi dare, via css, un color:gray agli elementi input.
    Poi, dai un id all'input e aggiungi un onclick...
    Ad esempio:

    >
    <style type="text/css">
    input {
    color: gray;
    }
    </style>
    
    >```
    
    e
    
    

    <input id="cambia_colore" onclick="document.getElementById('cambia_colore').style.color='black';" name="campo1" value="ciao" />

    Ricorda che se hai altri campi che si devono comportare nello stesso modo, devi cambiare gli id.

    Grazie mille della risposta e dell'aiuto gentilissimo.

    Come colore ci siamo però sai cosa altro vorrei
    Che quando clicci sul modulo la scritta (ciao) scompare, se ci scrivi il testo sia nero e rimane nero se lo lasci compilato, mentre se lasci il modulo vuoto senza scrivere niente ritorna la scritta grigia (ciao).

    Grazie mille ancora spero mi potrai aiutare


  • User Attivo

    Si potrebbe fare una cosa del genere ma io sono un po' indietro con js... probabilmente c'è un metodo meno complicato...

    
    <style type="text/css">
    input {
    color: gray;
    }
    </style>
    <script type="text/javascript">
    function input_text(x) {
    document.getElementById('c'+x).value = '';
    document.getElementById('c'+x).style.color = 'black';
    }
    function contr_text(x) {
    valori = new Array();
    valori[0] = '';
    valori[1] = 'testo campo uno';
    valori[2] = 'testo campo due';
    var cont = document.getElementById('c'+x).value;
    if (cont == '')
        {
        document.getElementById('c'+x).value = valori[x];
        document.getElementById('c'+x).style.color = 'gray';
        }
    }
    </script>
    
    
    
    <input id="c1" onclick="input_text(1);" onblur="contr_text(1);" name="campo1" value="testo campo uno" />
    <br />
    <input id="c2" onclick="input_text(2);" onblur="contr_text(2);" name="campo2" value="testo campo due" />
    
    

  • User

    @tigrone said:

    Si potrebbe fare una cosa del genere ma io sono un po' indietro con js... probabilmente c'è un metodo meno complicato...

    >
    <style type="text/css">
    input {
    color: gray;
    }
    </style>
    <script type="text/javascript">
    function input_text(x) {
    document.getElementById('c'+x).value = '';
    document.getElementById('c'+x).style.color = 'black';
    }
    function contr_text(x) {
    valori = new Array();
    valori[0] = '';
    valori[1] = 'testo campo uno';
    valori[2] = 'testo campo due';
    var cont = document.getElementById('c'+x).value;
    if (cont == '')
        {
        document.getElementById('c'+x).value = valori[x];
        document.getElementById('c'+x).style.color = 'gray';
        }
    }
    </script>
    
    >```
    
    

    <input id="c1" onclick="input_text(1);" onblur="contr_text(1);" name="campo1" value="testo campo uno" />
    <br />
    <input id="c2" onclick="input_text(2);" onblur="contr_text(2);" name="campo2" value="testo campo due" />

    Grazie mille, perfetto mi stai aiutando veramente tanto,
    Solo l'ultima cosa, vorrei che quando scrivessi dentro al modulo tipo ciao
    vorrei che se cliccassi un'altra volta sul modulo con la scritta ciao essa non scompare lasciando il modulo vuoto,
    ma poteri ad esempio cancellare qualche lettera o modicare la parola se la scrivessi sbagliata senza riscriverla tutta.
    Per il resto invece è tutto perfetto.
    Grazie ancora e scusami se ti disturbo ancora


  • User Attivo

    Vuoi un aiuto?
    Allora ragiona sul codice scritto... e trova tu la soluzione!

    Indizio: devi fare in modo che, se il testo presente nel campo **è ** "..........", non lo svuota... altrimenti...
    Il codice che ho postato è sufficiente per trovare la soluzione... basta "manipolarlo" un po'... ovviamente, prima deve essere capito!
    Questo è il migliore aiuto che ti posso dare...:wink3: