Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965

    Dentro funzione, oggetto senza proprietà

    Come mai se faccio

    codice:
                    function recorder(id){
                            ...
                            var valore = document.getElementById(id).value;
                            ...
                    }
    Mi dice :
    "Errore: document.getElementById(id) has no properties
    File sorgente: http://.../myfile/
    Riga: 28"

    La variabile id è a posto.

    Dentro una funzione non è possibile accedere alle proprietà dell'oggetto??

    Devo passare l'oggetto stesso, invece dell'ID??


    :master:

  2. #2
    1. non utilizzare 'id' come nome di un parametro: id e' una parola riservata
    2. assicurati che l'oggetto al quale stai accedendo abbia effettivamente l'attributo value

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    Ah ecco perchè non andava.

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    Ho cantato vittoria prima del tempo.

    Persiste la segnalazione di mancata proprietà.

    Com'è possibile che un campo input text non abbia la proprietà "value" ???

    Forse ho sbagliato il modo di accedervi

  5. #5
    Originariamente inviato da keratox
    Ho cantato vittoria prima del tempo.

    Persiste la segnalazione di mancata proprietà.

    Com'è possibile che un campo input text non abbia la proprietà "value" ???

    Forse ho sbagliato il modo di accedervi
    allora dovresti postare il codice completo che stai utilizzando, inclusa la chiamata della funzione.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    codice:
    <html>
    <head>
    
            <style type="text/css">
                    body{
                            font-family:verdana;
                            font-size:8pt;
                    }
                    input.stato{
                            display:none;
                            border-color:#fff;
                            border:0px;
                            color:#0000aa;
                    }
             </style>
    
            <script type="text/javascript">
                    var req;
                    var lastValue = [];
                    
                    function createXmlRequest(){
                            // ...
                            return new XMLHttpRequest();
                    }
    
                    function recorder(ido){
                            alert(ido);
                            var valore = document.getElementById(ido).value;
                            if(lastValue[ido]){
                                    if(lastValue[ido] == valore){
                                            // nothing
                                    }else{
                                            lastValue[ido] = valore;     
                                            getValue(valore, ido);                                
                                    }
                            }else{
                                    lastValue[ido] = valore;
                                    getValue(valore, ido);
                            }
                    }
                    
                    document.getElementById("uname").onblur=recorder("uname");
                    document.getElementById("pwd").onblur=recorder("pwd");      
              
                    function takeResponse(){    
                            if(req.status==200){
                                    alert("c");
                                    var res = req.responseText;
                                    document.getElementById("stato").style.display='block';
                                    document.getElementById("stato").innerHTML=res;  
                                    alert(res);
                                    //delete req;
                            }
                    }
                    
                    function getValue(valore, idobj){
                            if(req==null)
                                    req = createXmlRequest();
                            alert("il primo");
                            req.open("GET","elab.php?field="+idobj+"&value="+valore, true);
                            req.send(null);
                            req.onreadystatechange = takeResponse;
                            alert("pre");
                    }
            </script>
    
    </head>
    <body>
    
    <div id="stato" class="stato">
    
    </div>
    <form action="login.php" id="login">
            <label for="uname">Username</label>
            <input type="text" name="username" id="uname" />
    
            <label for="pwd">Password</label>
            <input type="password" name="passw" id="pwd" />
    
            <input type="submit" name="sent" value="Login" id="sub" />
    </form>
    
    
    </body>
    </html>
    Tutta qui la pagina.
    Gli alert() servono solo per determinare il "percorso" dell'applicazioncina.

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    document.getElementById("uname").onblur=recorder(" uname");
    document.getElementById("pwd").onblur=recorder("pw d");
    Cerchi di accedere a due oggetti che ancora non esistono... racchiudi le due istruzioni in una funzione e richiamale all'onload del body.

    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

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    Hai ragione... thx ...
    dannazione, non ho solidissime basi per javascript...

    Comunque... che mi dite di questi errori?

    codice:
    Errore: uncaught exception: [Exception... "Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIXMLHttpRequest.send]"  nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)"  location: "JS frame :: http://.../ :: getValue :: line 64"  data: no]
    
    Errore: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: http://.../ :: takeResponse :: line 50"  data: no]
    File sorgente: http://.../
    Riga: 50

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.