Andreas Korthaus: multiple select und file-upload in einem Formular

Hallo!

Mein Problem ist folgendes:
Ich hab ein Formular, welches gleichzeitig ein Multiple-Select Feld und 2 File-Upload Felder enthält.
Bis hierher noch nicht wirklich spektakulär. Das Problem wird durch Javascript verursacht. Das Multiple Select-Feld(Listenfeld) wird durch ein Javascript gefüllt, und Javascript ist leider sehr streng was die Elementenamen angeht, zumindest ist kein Name wie fledname[] erlaubt, was von PHP z.B. herrlich in einen Array mit den einzelnen ausgewählten Werten als Elemente umgesetzt würde. Aber das funktioniert schonmal nicht. In PHP könnte ich das umgehen indem ich auf den Request-String direkt zugreife, welcher aber dank des POST-Verfahrens, welches durch den File-Upload notwendig wird, nicht vorhanden ist. Trotz stundenlanger Suche habe ich in PHP keine Möglichkeit gefunden, dies irgendwie zu vereinigen.

OK, dann dachte ich an PERL, wobei ich dann meinen Sessionmechanismus etc. manuell implementieren und über flat-files mit PHP kommunizieren müßte, aber gut. Nur wie funktioniert das ganze in PERL? auch da habe ich jetzt ne ganze Weile gesucht, ich finde auch da eine Möglichkeit wie ich im POST-Fall von STDIN die Daten einlese, dann müßte ich den String halt manuell parsen. Nur weiß ich hier nicht wie das mit einem(zwei) File-Upload funktionieren soll. Andere Variante ist mit CGI.pm, aber da finde ich keine Möglichkeit Parameter die gleiche heißen, was bei der multiplen Liste halt der Fall ist wenn mehr als ein Wert ausgewählt wird, auszulesen. Auch hier habe ich lange gesucht, wenn auch nicht so effektiv weil ich mich mit PERL noch nicht so vertraut bin.

Oder vielleicht doch ein ganz anderer Weg, kann ich es in Javascript schaffen, mit irgendeinem Trick die Werte aus dem multiple-SelectFeld anders als alle mit demselben Namen an den Server zu übermitteln? Oder wenigstens an die Namen [] anhängen? Vielleicht einen Umweg über Hidden-Fields oder was weiß ich? Oder kann ich das Feld doch irgendwie mit name[] benennen und trotzdem mit Javascript drauf zugreifen? Siehe auch: [pref:t=31294&m=169241]

So ein doofes Problem hatte ich glaube ich noch nie! Wegen so ner Kleinigkeit geht so viel Zeit drauf :-(

Hat vielleicht jemand irgendeinen Tipp?

Viele Grüße
Andreas

  1. Hallo Andreas,

    Bis hierher noch nicht wirklich spektakulär. Das Problem
    wird durch Javascript verursacht. Das Multiple
    Select-Feld(Listenfeld) wird durch ein Javascript gefüllt,
    und Javascript ist leider sehr streng was die
    Elementenamen angeht, zumindest ist kein Name wie
    fledname[] erlaubt, was von PHP z.B. herrlich in einen
    Array mit den einzelnen ausgewählten Werten als Elemente
    umgesetzt würde.

    Guten Morgen. *grummel* Archiv?

    document['forms']['formname']['elements']['elementname']

    ist aequevalent zu

    document.forms.formname.elements.elementname

    ist aequivalent zu

    document.forms['formname'].elements['elementname']

    Hat vielleicht jemand irgendeinen Tipp?

    Benutz das naechste mal die Selfsuche!

    http://selfsuche.teamone.de/cgi-bin/such.pl?suchausdruck=PHP+JavaScript+[]&lang=on&feld=alle&index_4=on&hits=100

    Gruesse,
     CK

    1. Hallo Christian!

      Guten Morgen. *grummel* Archiv?

      Also das das Problem schon andere hatten konnte ich mir nicht vorstellen, ich hatte ja Google ne ganze Zeut gequält, aber dazu habe ich nichts gefunden. Es gibt einfach zu viele Seiten die den Upload allgemein erklären.

      document['forms']['formname']['elements']['elementname']
      ist aequevalent zu
      document.forms.formname.elements.elementname
      ist aequivalent zu
      document.forms['formname'].elements['elementname']

      :-))))))))))))))))))))))))))))))))))))
      DANKE DIR!

      http://selfsuche.teamone.de/cgi-bin/such.pl?suchausdruck=PHP+JavaScript+[]&lang=on&feld=alle&index_4=on&hits=100

      Tut mir wirklich Leid, habe solche Postings anscheinend noch nie mitbekommen, naja. Habe insgesamt 5-6 Stunden nach einer Lösung gesucht und habe am Ende an einem Workaround über ein hidden-Field gearbeitet, aber so ist es natütlich erheblich schöner ;-)

      Vielen Dank nochmals, hast ich erlöst!

      Viele Grüße
      Andreas

      1. Hallo Andreas,

        Guten Morgen. *grummel* Archiv?
        Also das das Problem schon andere hatten konnte ich mir
        nicht vorstellen

        Merke: Grundsaetzlich hat schonmal jemand dasselbe Problem
        gehabt. Ausnahmen bestaetigen die Regel.

        ich hatte ja Google ne ganze Zeut gequält,

        Selfsuche...

        Gruesse,
         CK