Visualizzazione dei risultati da 1 a 5 su 5

Discussione: problema con "this"

  1. #1

    problema con "this"

    ciao ragazzi, fino ad ora non avevo mai utilizzato il "this" ma oggi ho deciso di provarci.
    Prima scrivevo nei controlli dei form tonnellate di if uguali per settare i controlli, oggi ho provato così:


    Codice PHP:

    <script type="text/javascript">
        function 
    check(this){
            if(
    document.getElementById(this).value!="")
            {
                
    this.valid=true;
                
    document.getElementById("okerr"+this).src="../img/correct18.jpg"
            
    }
        }
    </script>


    <input type="text" id="username" name="username" onblur="check(username);" /> [img][/img]
    etc.... 
    ma firebug recita:

    "missing formal parameter
    [Break on this error] function check(this){\n"


    al caricamento della pagina e:

    "check is not defined
    [Break on this error] check(username);"


    appena viene chiamata la funzione

    Premetto che non ho mai usato il this ma vorrei imparare per snellire di molto il mio codice. Qualcuno mi sa dire dove sbaglio?

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    this si riferisce all'oggetto contenitore... non mi sembra logico avere il parametro della funzione che si riferisce alla funzione stessa...

    Casomai this lo si usa nelle chiamate alla funzione, per passare come parametro l'oggetto stesso che esegue la chamata alla funzione...

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    e nel get element by id che ci metto?

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da Mikele Sagitter
    e nel get element by id che ci metto?
    Niente, usi direttamente l'oggetto

    function check(obj){
    if(obj.value!="")
    {
    // queste due non le ho capite, non so cosa devi fare :master:
    this.valid=true;
    document.getElementById("okerr"+this).src="../img/correct18.jpg"
    }
    }
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    quelle due righe servono a:

    creare una variabile settata a true per un controllo finale (anche se non so se this.valid si trasformi poi automaticamente in usernamevalid, passwordvalid, emailvalid o è solo una mia fantasia) e a mettere un'immaginetta che faccia comprendere che il campo è stato riempito in modo corretto.

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.