DOM: Überschreiben von Funktionen
CyberSwiss
- javascript
0 frankx
Hallo :-)
Ich hoffe, es kann mir jemand hier helfen. Ich baue eine Tabelle dynamisch auf, indem ich Elemente in den DOM-Baum hineinhänge resp. aus ihm entferne. In einer Tabellenzelle gibt es einen Button, der über eine Java-Script funktion verfügt.
var img_3 = document.createElement('IMG');
img_3.setAttribute("id",tableId+"_R"+nextRowNo+"_C3_DEL");
img_3.setAttribute("src", imgDelete.src);
img_3.onclick=function(){this.src=imgDeletePressed.src;deleteRow(tableId,nextRowNo,confirmDelete,colorizedTable);}
Wenn aus der Tabelle ein Element entfernt wurde, ist die JavaScript-Funktion anzupassen, was mittels nachfolgendem Script im Firefox läuft (nicht aber im Internet Explorer)
(document.getElementById(newRowID + "_C3_DEL")).setAttribute("onClick", "this.src=imgDeletePressed.src;deleteRow('" + tableId + "','" + newRowNo + "','" + confirmDelete + "','" + colorizedTable + "');");
Die andere Möglichkeit, die ich ausprobiert habe ist:
(document.getElementById(newRowID + "_C3_DEL")).onclick=function(){this.src=imgDeletePressed.src;deleteRow(tableId,newRowNo,confirmDelete,colorizedTable);}
Irgendwie scheint dies jedoch nicht richtig zu funktionieren, da die Parameter der Javascript Funktion teilweise nicht aktualisiert werden. Nun meine Frage:
Wie kann ich sicherstellen, dass im DOM die Java-Script Funktion korrekt erstetzt wird, sowohl unter Firefox, wie auch im Internet-Explorer? Welchen Gedankenfehler mach ich?
Herzlichen Dank für Eure Unterstützung :-)))
Hellihello
var img_3 = document.createElement('IMG');
img_3.setAttribute("id",tableId+"_R"+nextRowNo+"_C3_DEL");
img_3.setAttribute("src", imgDelete.src);
img_3 = new Image();
img_3.src = "bla.gif";
img_3.id = "blubb";
img_3.onclick=function(){this.src=imgDeletePressed.src;deleteRow(tableId,nextRowNo,confirmDelete,colorizedTable);}
Wenn aus der Tabelle ein Element entfernt wurde, ist die JavaScript-Funktion anzupassen, was mittels nachfolgendem Script im Firefox läuft (nicht aber im Internet Explorer)
(document.getElementById(newRowID + "_C3_DEL")).onclick=function(){this.src=imgDeletePressed.src;deleteRow(tableId,newRowNo,confirmDelete,colorizedTable);}
jau.
Irgendwie scheint dies jedoch nicht richtig zu funktionieren, da die Parameter der Javascript Funktion teilweise nicht aktualisiert werden. Nun meine Frage:
Wie kann ich sicherstellen, dass im DOM die Java-Script Funktion korrekt erstetzt wird, sowohl unter Firefox, wie auch im Internet-Explorer? Welchen Gedankenfehler mach ich?
Na hast du dir mal mit Alert die zu testenden /nicht funktionierenden Werte ausgegeben und geschaut, warum sie nicht aktualisiert wurden (von dir oder deiner Funktion)?
Dank und Gruß,