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

Beitrag lesen

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