Tabellen in Formularen mit GET/POST übertragen

  • Hi! Ich habe ein kleines Problem und die Hoffnung, dass mir hier weitergeholfen werden kann.

    Ich habe ein Formular in dem 2 Tabellen enthalten sind. Diese können vom Benutzer um beliebig viele Zeilen erweitert werden. Ebenfalls können Zeilen aus den Tabellen entfernt werden. Dies alles habe ich über ein kleines JavaScript gelöst.

    Beim Absenden des Formulars sollen diese Tabellen - wie alle normalen Formular-Elemente auch - mit den GET/POST-Variablen übertragen werden. Ich habe keine Ahnung, wie ich das machen soll! Ein Lösungsansatz war, dass ich in jede Zelle ein verstecktes Formularfeld mit einbaue, allerdings habe ich dann nochimmer das Problem, dass ich nicht weiß, wieviele Zeilen die Tabellen haben. Am liebsten hätte ich die Inhalte der Tabellen in einem Array verfügbar, glaube aber nicht, dass sich das so einfach einbauen lässt, oder!?

  • Am liebsten hätte ich die Inhalte der Tabellen in einem Array verfügbar, glaube aber nicht, dass sich das so einfach einbauen lässt, oder!?


    Doch

    <input type="text" name="eingabefeld[]">

    Von dieser Zeile kannst du jede Menge in dein Formular einbauen, im PHP-Script, mit dem du das Formular verarbeitest, ist dann $_POST['eingabefeld'] ein Array

  • Doch

    <input type="text" name="eingabefeld[]">

    Von dieser Zeile kannst du jede Menge in dein Formular einbauen, im PHP-Script, mit dem du das Formular verarbeitest, ist dann $_POST['eingabefeld'] ein Array

    Und wie schreibe ich Daten in das Array und lösche sie wieder raus!? Angenommen ich habe eine Tabelle mit 3 Spalten in denen 3 Datensätze stehen aus denen ich den 2. löschen will und dann einen weiteren hinzufügen will... denke mal, dass ich dann den Wert des Textfeldes per JavaScript manipulieren muss - klar - aber wie muss der Inhalt dann aussehen und wie kriege ich da eine Zeile wieder raus!? Kann ich im JavaScript damit auch schon wie mit nem Array arbeiten!?

  • Vielleicht klären wir erst mal, was du unter Tabellen verstehst. Meinst du eine HTML-Tabelle oder eine DB-Tabelle. Wenn es um DB-Tabellen geht, würde ich jede Form von JavaScript vermeiden.

  • Es geht um eine HTML-Tabelle!
    Diese soll per POST an eine JSP weitergegeben werden, die damit weiterarbeitet!

  • Eine HTML-Tabelle per POST weitergeben? :eek: Ähm, ich verstehe nur Bahnhof, was aber auch nicht weiter schlimm ist, da ich JSP auch nicht so gut kenne. :D

  • Also... ich habe ein Formular. In diesem Formular habe ich eine Tabelle, die der Benutzer mit einem JavaScript etwas manipulieren kann, also Zeilen hinzufügen und löschen kann. Da eine HTML-Tabelle kein Formular-Element ist, wird diese nicht mit in die GET- oder POST-Variablen geschrieben, wenn ich das Formular absende. Mein Ziel ist es, genau dies zu erreichen.

    Du meintest ja jetzt, dass ich sehrwohl ein Array in einem Formular übertragen kann - was mich sehr freut. Nun ist nur noch die Frage, wie der Inhalt des Textfeldes aussehen muss, wenn ich ein mehrdimensionales Array habe. Denke das werde ich einfach versuchen herauszufinden, indem ich mir eine kleine Demo-Seite baue, an die ich ein solches mehrdimensionales Array übergebe. Was das löschen angeht werde ich es einfach so machen, dass der Inhalt des Textfeldes komplett neu aufgebaut wird, wenn ich eine Zeile hinzufüge oder lösche - dann umgehe ich das Problem, dass ich mir die Stelle in dem Textfeld suchen muss an der ich was hinzufügen oder löschen muss. Die Tabellen sind nicht so groß, dass das performancemäßig einen Unterschied machen würde.

    Das Ergebnis meines Testes werde ich hier dann der vollständigkeithalber mitteilen und mich hier heute nachmittag von zuhause direkt mal anmelden - ich mag Foren in denen man schnell antworten kriegt! ;) :P

  • Also ich habe das Array so leider nicht bilden können, da in JSP die Funktion getParameter() einen String zurück gibt. Allerdings kann ich einfach mehrere Textfelder mit dem selben Namen definieren und dann ein Array mit allen diesen Werten über die Funktion getParameterValues() bekommen, die ein String-Array zurückliefert.

  • HI
    ich habe zurzeit dasselbe Problem!
    Eine Tabelle wird dynamisch per Javascript erzeugt und soll nun per php zusammen mit den übrigen Elementen im form-tag versendet werden!
    könntest du deine Lösung oder zumindest einen Ansatz posten? wäre super, weil ich im moment wirklich ratlos bin und auf keinen fall dynamisch in ein Textarea schreiben will!

    gruß rupi