Formulardaten in HIDDEN-Feld übertragen
Sven
- javascript
0 Sven Rautenberg0 Sven
0 Mirko
Wie kann man mit Javascript den Pfad aus einem <input type="file".....> - Feld in ein HIDDEN-Feld übertragen. Jedoch bevor das Formular abgeschickt wird!!!
Vielen Dank
Sven
Wie kann man mit Javascript den Pfad aus einem <input type="file".....> - Feld in ein HIDDEN-Feld übertragen. Jedoch bevor das Formular abgeschickt wird!!!
Vielen Dank
Sven
Mit "onsubmit" und etwas Javascript. Allerdings ist mir nicht klar, warum. Denn wenn die Eingabe in einem Feld drinsteht, wird sie so oder so an den Server gesendet.
- Sven Rautenberg
Leider wird der Inhalt bei einem <input type="file".....> - Feld nicht übermittelt. Zumindestens nicht im Netscape N.
Leider wird der Inhalt bei einem <input type="file".....> - Feld nicht übermittelt. Zumindestens nicht im Netscape N.
Hast du als enctype auch "multipart/form-data" im <FORM> angegeben?
Ohne dieses geht garnichts.
Und übrigens geht auch der Übertrag von type="file" in type="hidden" nicht. Jedenfalls wird nicht die Datei übertragen, sondern nur der Dateiname. Da hatte ich beim ersten Mal etwas schnell gelesen...
- Sven Rautenberg
Ich glaube ich sollte noch mal genauer erklären was ich will:
Das Feld <input type="file".....> soll NICHT wie üblich die Datei übertragen! Ich benötige lediglich die Pfadangabe, die in dem Feld steht. D.h. mein Formular funtioniert. Nur leider zu gut. ;-)
Wenn ich jedoch ein normales input-Feld nehme hat der User ja keinen durchsuchen-Button.
Daher wollte ich zwei Formulare erstellen:
1. <input type="file".....> - ohne absendemöglichkeit (für den User nicht sichtaber, da beide untereinander
2. <input type="hidden".....>
OK hat sich erledigt! (siehe Antwort bei Mirko)
Vielen Dank!!!
Hi Du,
Leider wird der Inhalt bei einem <input type="file".....> - Feld nicht übermittelt. Zumindestens nicht im Netscape N.
hast Du den enctype richtig festgelegt?
<form method="post" enctype="multipart/form-data" ...
Mirko
Hi Du,
Leider wird der Inhalt bei einem <input type="file".....> - Feld nicht übermittelt. Zumindestens nicht im Netscape N.
hast Du den enctype richtig festgelegt?
<form method="post" enctype="multipart/form-data" ...
Mirko
GENAU! Ich muß ja nur "enctype="multipart/form-data" weglassen.
Super! Danke! (Auch wenn Ihr es genau umgekehrt meintet)
;-)
Hi Du,
GENAU! Ich muß ja nur "enctype="multipart/form-data" weglassen.
Ich würde mich nicht drauf verlassen. Vielleicht gibt es Browser, die feststellen, dass ein File-Input drin ist und den Enctype dann selbständig festlegen.
Mirko
Ich würde mich nicht drauf verlassen. Vielleicht gibt es Browser, die feststellen, dass ein File-Input drin ist und den Enctype dann selbständig festlegen.
Na das will ich mal nicht hoffen. Beim IE 5.5 und NS 4.7 klappts. Bei den älteren ja dann wohl auch. Wenn sich bei den nachfolgern was ändert, muß ich mir halt wieder neu den Kopf zerbrechen. Solange läuft es so.
Sven
Hi Du,
Wie kann man mit Javascript den Pfad aus einem <input type="file".....> - Feld in ein HIDDEN-Feld übertragen. Jedoch bevor das Formular abgeschickt wird!!!
ob das Feld hidden oder text oder sonstwas ist, ist eigentlich irrelevant.
Wohin willst Du es denn schicken? Wahrscheinlich wie gewöhnlich zu einem serverseitgen Skript. Und auf welche Aktion hin?
Wie auch immer, mir fallen da 2 Möglichkeiten ein:
1. Möglichkeit: Du brauchst 2 Frames: eins, das 100% ist (da ist auch der normale Content mit dem input drin), sagen wir mal es heißt "content", das andere ist nicht zu sehen, nennen wir es "dummy". Da requestest Du dann von dem content-Frame aus mit
parent.dummy.location.replace('skript.pl?param=' + document.forms[NAME].NAMEdEShIDDENiNPUTS.value)
Dein Skript rein und übergibst ihm gleichzeitig als Parameter den Inhalt des Inputs. Du musst aber vorher noch Spaces und sonstige Sonderzeichen aus dem Inhalt des Feldes rausfiltern, damit es eine gültige URL wird.
2.Möglichkeit: Dein Skript sollte fähig sein, bei Request ein sagen wir mal transparentes 1x1 Pixel gif zum Clienten zu senden (meistens ist es ja ein HTML-Dokument). Dann könntest Du dem Skript Deinen Input-Wert einfach übermitteln, indem Du die Quelle eines Bildes, das vorher auch schon "blind" ist, in die URL des Skriptes änderst:
document.images['dummy'].src = 'skript.pl?param=' + document.forms[NAME].NAMEdEShIDDENiNPUTS.value;
Hier musst Du ebenfalls auf eine korrekte URL achten.
Mirko