Visualizzazione dei risultati da 1 a 3 su 3

Discussione: colorazione background

  1. #1

    colorazione background

    Ciao a tutti ho un problema al quanto stupido ma che mi blocca.

    Ho fatto una form di registrazione con dei campi da inserire con i tag:

    <input type="text" name=nome...>

    ora mi servirebbe una funzione javascript che controlli che la casella è stata riempita, in caso contrario la casella "nome" venga selezionata ed evidenziata in giallo

    come posso fare abbinando javascript e css???esiste una funzione apposta?

    GRAZIE A TUTTI

  2. #2
    Se ti serve una funzione Javascript, perché hai scritto dentro il forum XHTML quando esiste un apposito forum per il linguaggio Javascript???

    Io sposto, ma vorrei una risposta concreta :rollo:
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

  3. #3
    Devi applicare una classe ai campi di input (ad es. class="testo") che li formatta tramite regole CSS normalmente. Poi, quando fai il controllo con JavaScript, se il campo è vuoto, gli cambi dinamicamente il nome della classe con quello di un'altra classe contenente la regola per lo sfondo giallo. Supponendo il controllo di un solo campo, avrai un codice simile a questo:

    codice:
    function controlla(id) {
    if (document.getElementById(id).value=="") {
    document.getElementById(id).className = "";
    document.getElementById(id).className = "errore";
    document.getElementById(id).focus();
    }
    }
    Se il campo è vuoto, il codice gli "annulla" il nome della classe associata ai campi di testo (class="testo"). Poi gli applica una nuova classe ("errore") che nel CSS avrà un background-color impostato sul colore giallo, quindi dà il focus al campo. Questa funzione va richiamata possibilmente all'onblur sul campo o all'onsubmit del form (anche se in questo caso, dovresti controllare ciclicamente tutti i campi di testo obbligatori).

    Ovviamente, devi associare ad ogni campo di testo una funzione (all'onclick o all'onchange ad es.) in modo che appena l'utente ci clicca dentro o modifica il valore errato (ovvero ci inserisce un valore), riassocia al campo la classe "testo":

    codice:
    <head>
    <script type="text/javascript">
    function reimpostaClasse(id) {
    document.getElementById(id).className = "";
    document.getElementById(id).className = "testo";
    }
    </script>
    </head>
    <body>
    <form>
    
    <input type="text" id="nome" name="nome" class="testo" size="22" value="" onchange="reimpostaClasse(this.id);" />
    Come avrai notato prima di applicare la nuova classe "annullo" sempre la classe corrente (document.getElementById(id).className = ""). Questo perché ho notato un comportamento strano di IE.


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.