Visualizzazione risultati 1 fino 7 di 7

Discussione: problema con onblur e con funzione

  1. #1
    Guest

    Predefinito problema con onblur e con funzione

    Avevo scritto questa funzione per far sì che se un input/textarea fosse vuoto i bordi diventino rossi e appare sotto una frase, se invece è 'pieno' diventano verdi e appare un' altra frase. Questi sono i codici che avevo scritto:

    Codice PHP:
    <script type="text/javascript">
    function
    valida(id) {
    var
    e = document.getElementById(id);
    if (
    e.value == "") {
    document.write('<br /><span style="font-size: x-small; color: red;>Errore: Devi riempire il campo!<br /><br />');
    e.style.borderColor="red";
    } else {
    document.write('<br /><span style="font-size: x-small; color: green;>Ok!<br /><br />');
    e.style.borderColor="green";
    }
    }
    </script>
    Poi lo richiamo così:

    Codice PHP:
    <input type="text" name="parola" id="parola" onblur="valida('parola'); return false;">
    Il problema è che quando clicco al di fuori dell' input mi si ricarica la pagina senza caricarsi diciamo, rimane il caricamento ma appare completato in basso.. :S Come mai?

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Questo accade perché usi il metodo write, esso funziona in modo particolare e sconsiglio fortemente chiunque ad usarlo, al suo posto devi usare gli altri metodi del DOM per modificare il documento.

  3. #3
    Guest

    Predefinito

    Ovvero? NOn ci ho capito molto nella pagina linkata :S

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,761

    Predefinito

    il document.write() non va usato dopo aver caricato la pagina....

    Per fare quello che vuoi, dovresti scrivere "fin dal caricamento della pagina" quello <span>, e poi gli modifichi gli attributi css via javascript come hai fatto...


    Ciao!
    Ultima modifica di alemoppo : 10-05-2011 alle ore 22.45.31

  5. #5
    Guest

    Predefinito

    Ah capito, grazie mille, esiste per caso un tag che abbia value ma non siano input? Esempio <p value="ciao"></p> non si può fare? Cambierei il value di quell' elemento con javascript..
    Ultima modifica di webglossary : 10-05-2011 alle ore 23.18.31

  6. #6
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Puoi cambiare il testo di un elemento usando la proprietà textContent.

  7. #7
    Guest

    Predefinito

    grazie, avevo inserito un input text con readonly lol

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •