tabelle xsl und innerHTML

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • tabelle xsl und innerHTML

    Hi, ich habe folgendes Problem :
    Aus einer XSL, die als Template hinhält wird eine Tabelle erzeugt, deren ID ich in einem Array speichere. (oObjectMenu)
    Jetzt soll innerhalb dieser Tabelle eine weitere Tabelle erzeugt werden, welches ich mit folgendem Script versuche :

    Quellcode

    1. function setASTMenu (){
    2. ast_start = 0;
    3. for (var ast_i=0;ast_i< oObjectMenu.length-1;ast_i++){
    4. var ast_str = "";
    5. ast_str = "<table id=\"Sitecontainer"+ast_i+"\" align=\"center\" width=\"96%\" class=\"ast_newMenu\"cellspacing=\"0\" cellpadding=\"0\"><tr >";
    6. for(var ast_j=0;ast_j<ast_gesamt;ast_j++){
    7. ast_str+= "<td width=\"4%\" class=\"ast_newMenu\"><a href=\"javascript:renderNewSiteTab("+ast_j+")\"> | "+(ast_j+1)+" |</a></td>";
    8. if (((ast_j+1)%25)==0){
    9. ast_str+="</tr><tr>";
    10. }
    11. }
    12. ast_t = document.getElementById(oObjectMenu[ast_i]);
    13. ast_str+="</tr><tr><td>&nbsp;</td></tr></table>";
    14. ast_t.innerHTML = ast_str;
    15. }
    16. }
    Alles anzeigen


    Auf dem Firefox wird alles dargestellt, so wie es sein soll.
    Der IE allerdings zeigt nichts an.
    Hat jemand eine Idee ?

    Ich bin schon echt am verzweifeln, irgendwie hab ich entweder einen Denkfehler oder aber der IE interpretiert das falsch, wobei ich eher auf ersteres Tippe, obwohl ich den IE nicht mag.

    Ach ja, normalerweise verwende ich nicht innerHTML, muss mich aber dem Projekt anpassen. Wenn es nach mir ginge, würde ich am liebsten alles umschreiben.

    Gruß...

    ...Patrick
  • ist ast_gesamt eine globale variable?
    ast_start sollte zumindest überflüssig sein

    also kleine debugging info würd ich mal ein alert(ast_t) machen
    ergibts das bei beiden systemen >kein< NULL?

    schäm dich nicht für innerHTML *g*
    ich nutz es auch ziemlich häufig (in den wiki-howto's ausschließlich)
    eine DOM Structur ist meist zu "komplex"
  • ast_gesamt ist eine globale Variable, die mir zeigt, wieviele Seiten aufgebaut werden.
    Hintergrund :

    Es sind ca. 1200 Daten in einem Array gespeichert, die ich übermittelt bekomme.
    Wenn ich jetzt alle Daten auf einmal anzeigen würde, bzw. in der Tabelle generieren würde, dann steht der Braowser für ein paar minuten. Daher will ich immer nur ca. 10-20 Datensätze anzeigen lassen. Daher ist ast_gesamt ein Math.ceil ();
    ast_start brauche ich auch als globale Variable.

    Nein, ergiobt kein NULL, das Object ist vorhanden und wie gesagt, der FF zeigt alles tadellos an, nur der IE streikt. Leider.
    Ich kann leider nicht den gesamten Code posten, das sind über 20 js-dateien und 3 XSL-Dateien. Aber :
    ich habe den Fehler auf diese Funktion komplett eingegrenzt, daher kann es nur noch an dieser Methode liegen.

    Das Array ist auch gefüllt, und ergibt bei window.alert(oObjectMenu.length) auch die Länge an.
    Auch ein window.alert(oObjectMenu) zeigt mir den korrekten Inhalt.
  • dabei ist der firefox doch im Allgemeinen auch restriktiver als der IE.. komisch
    also ast_str hat den korrekten inhalt, ast_t ist das html objekt (das auch gefunden wird).. viel mehr kann man bei den zeilen nicht ausmachen

    vielleicht noch das ast_str außerhalb der schleife initialisieren

    Quellcode

    1. var ast_str;
    2. for (var ast_i=0;ast_i< oObjectMenu.length-1;ast_i++){
    3. ast_str = "";