Eventhandler und Variablen nicht aufrufbar


#1
Code:
        function resetUserList(){   
            
                var object = document.getElementById('userlist');
                object.i = 0;
                object.innerHTML = '';
            
        }


Code:
        function appendUser(firstname, lastname, email, id){   
            
                var object = document.getElementById('userlist');
                item = "<a class='listview__item' href=''><div class='listview__content'><div class='listview__heading'>"+firstname + " " + lastname+"</div><p>"+email+"</p></div></a>";
                object.innerHTML += item;
                var object                = document.getElementById('userlist');
                temp_object             = object.getElementsByTagName('a')[object.i];
                temp_object.firstname     = firstname;
                temp_object.lastname    = lastname;
                temp_object.email         = email;
                temp_object.href         = id;
                
                temp_object.onclick = function(){
                    
                    to_id = 0;
                    getChatByID(this.getAttribute('href'), to_id);
                    console.log(this.firstname);
                    
                    
                return false;}
                
                object.i++;
        }

Warum geht das nicht, der EventHandler zündet nicht,....
 

Anhänge

Zuletzt bearbeitet:

Sempervivum

Erfahrenes Mitglied
#2
Poste Code besser in Textform und in Codetags statt mit einem Bild. Dann muss man es nicht abtippen, wenn man es testen will. (Codetags: Die drei Punkte in der Werkzeugleiste zwischen dem Smilie und der Kamera)
 
#4
Code:
      function appendUser(firstname, lastname, email, id){  
                           
                var object                 = document.getElementById('userlist');
                var a                     = document.createElement("a");
                a.classList.add('listview__item');
                var div                 = document.createElement("div");
                div.classList.add('listview__content');
                var innerdiv             = document.createElement("div");
                innerdiv.innerHTML         = firstname + " " + lastname;
                innerdiv.classList.add('listview__heading');
                innerp                     = document.createElement("p");
                innerp.innerHTML         = email
                div.appendChild(innerdiv);
                div.appendChild(innerp);
               
                a.appendChild(div);
                a.firstname     = firstname;
                a.lastname        = lastname;
                a.email         = email;
                a.href             = id;
               
                a.onclick = function(){
                   
                    to_id = 0;
                    getChatByID(this.getAttribute('href'), to_id);
                    console.log(this.firstname);
                   
                   
                return false;}
               
                object.appendChild(a);
        }

So funktioniert, kann man den Code evtl. (diesen hier) noch verkürzen?
 
Zuletzt bearbeitet:

Sempervivum

Erfahrenes Mitglied
#5
Wenn ich den Code in eine Testdatei aufnehme, ohne das getChatByID(), feuert der Handler einwandfrei. Ich vermute stark, dass diese Funktion einen Fehler verursacht, so dass das Skript abbricht. Wirf einen Blick in die Console, dort müsste dies angezeigt werden.