Problem mit Array füllen und an andere Funktion übergeben

  • Hallo Leute

    Ich habe ein Problem mit JavaScript und AJAX mein Array zu füllen und an eine Funktion zu übergeben.

    Ich habe ein HTML-Dokument mit einen Array, welches Dateinamen enthält, die Funktion autoload und buil_menu aufruft.

    Die Funktion autoload ruft für jeden Wert des Array die Funktion getCSV auf und läadt die entsprechende Datei. Die Funktion getCSV ruft die Funktion ausgeben auf, welche mir ein Array mit dem Dateiinhalt erstellen soll. Hierliegt das erste Problem. Wie muss ich den Code dieser Funktion ändern, das ich für alle Datein den Inhalt in dem Array spreichere und nicht nur den Inhalt der zuletzten geladenen Funktion.

    Die Funktion build_menu erzeugt mir ein menü mit Verweisen, wo ich mir den Inhalt der entsprechenden Datei anzeigenlassen möchte. Hier liegt das nächste problem. Wie müss ich das Array mit dem Dateiinhalt übergeben.

    Hab auch bei den einzelen Funktionen noch ein paar Bemerkungen dazu geschrieben.

    Hier kommt jetzt der Code zu den Funktionen:
    HTML-Dokument

    Hier ist der Code der Funktion autoload()

    Das auskommentierte ist ein Versuch wie ichs mir gedacht habe, funktioniert aber nicht richtig

    Funktion getCSV

    Benötige ich hier eigentlich ein return oder nicht?

    Funktion ausgeben

    Hier wird bei jedem aufruf der Funktion der Inhalt des Array dateiinhalt überschrieben. Wie muss ich das ändern das für jeden Aufruf der Inhalt der entsprechenden Datei in dem Array gespeichert wird?

    Funktion build_menu()

    Mit dieser Funktion erstelle ich mir die Verweise, durch die die Funktion anzeige aufgerufen wird. Wie muss ich die Übergabe des Arrays dateiinhalt ändern. Ich möchte also wenn ich auf den Verweis lagerung.csv (entspricht dateiname[5]) klicke das mir der Inhalt von Lagerung.csv angezeigt wird. Hoff ich hab mich verständlich ausgedrückt.

    Hier ist noch der Code der Funktion anzeige

    Diese Funktion sollte mir jetzt eigentlich den Dateiinhalt der jeweiligen Datei tabellarisch anzeigen. Bekomme aber die Fehlermeldung das length bei der zweiten For-Schleife NULL oder kein Objekt ist. Wo liegt mein Fehler.

    Ist ein sehr langer post. Ich hoffe ihr könnt mir trotzdem weiter helfen. Hab bisher nur gut Erfahrungen mit euch gemacht.

    Tschau und Danke für die Hilfe

    Jessica

  • Also ich bin zwar kein Profi in Ajax , aber versuche mich ma^^


    Dann fangen wir mal von vorne an :

    für die Funktion getCSV brauchst du kein return, da du ja die Elemente nichts zuweist


    Sag mal kann es ein, dass du die Funktio ausgeben gar nicht aufrufst ^^

    wenn das an dieser Stelle geschehen soll :
    nicht http.onreadystatechange = ausgeben; sondern
    http.onreadystatechange = ausgeben();

    dann fehlen da die Klammern "()", wenn du das meinst dann solltest du da aber auch ein return einbauen, sonst wird es ja nicht erkannt ^^

    Wenn du den Array Dateiinhalt relativ gestalten willst, dann gib doch einfach bei der Funktion ausgeben() gleich ein Attribut mit

    Hoffe ich konnte etwas helfen

    LG Konsti

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • Hallo

    Sorry das ich erst so spät antworte. War wegen Krankheitn ihct ehr möglich.

    Mit der zweiten Frage mein ich das ich bei der Funktion build-menu Verweise erstelle. Der Name der Verweise ist der Dateiname, die aus dem Array Dateinamen entnommen werden. Wenn ich auf den Verweis klicke soll die Funktion anziege aufgerufen werden und der Inhalt der Entsprechenden Datei übergeben werden. Da ja in meinem Array dateiinhalt der Inhalt der Datein nacheinander gespeichert wird(siehe autoload() ) müsste ich beim Aufruf der Funktion anzeige noch einen Indizie mit angeben. Dies funktioniert aber nicht. Krige immer nur den Inhalt der zu letzt in dem Array gespeicherten Datei angezeigt oder eine Fehlermeldung das Length null ist.

    Hoff das es jetzt etwas verständlicher ist und ihr mir helfen könnt.

    Tschau Jessica