Aendern des VALUE eines Upload-Feldes in Javascript
Andreas Schmidt
- javascript
Hallo,
entgegen der Dokumentation von Stefan Münz (dies ist kein Vorwurf 8-)), geht
das Setzen des VALUE-Attributes in Javascript vor dem Formular-Versenden nicht.
Belegbar ist dies durch:
Hat jemand andere Erfahrungen? Muss man einen Trick anwenden? Geht
'feld.value="neuer Wert"' nicht so einfach?
Andreas
Hallo,
entgegen der Dokumentation von Stefan Münz (dies ist kein Vorwurf 8-)), geht
das Setzen des VALUE-Attributes in Javascript vor dem Formular-Versenden nicht.
Hey,
Und wo bitteschön soll in der Doku von Stefan Münz stehen, daß man Dateifelder vorbesetzen lann ???
Tschau, Stefan
Hallo,
entgegen der Dokumentation von Stefan Münz (dies ist kein Vorwurf 8-)), geht
das Setzen des VALUE-Attributes in Javascript vor dem Formular-Versenden nicht.Hey,
Und wo bitteschön soll in der Doku von Stefan Münz stehen, daß man Dateifelder vorbesetzen lann ???
Tschau, Stefan
In der Dokumentation "Javascript/Objektreferenz/elements/value". Da steht
'Lesen/Aendern'. Die 'Datei-Button' sind nicht ausgenommen.
Uebrigens: Ich sprach nicht vom "Vorbesetzen", sondern vom Belegen durch
Javascript vor dem Formular-Absenden. Konkret wird bei SUBMIT eine
Funktion aufgerufen, die den Wert nachtraeglich aendert.
(Bitte keine Diskussion ueber den Sinn oder Unsinn meines Anliegens, ich
will es eben und weiss, was ich tue 8-))
Andreas
Hallo,
Hi Andreas.
entgegen der Dokumentation von Stefan Münz (dies ist kein Vorwurf 8-)), geht
das Setzen des VALUE-Attributes in Javascript vor dem Formular-Versenden nicht.
Belegbar ist dies durch:
- einen Selbstversuch; egal, was ich VALUE zuweise, in einer alert-Ausgabe steht
der alte Wert- die Dokumentation von Netscape vom Mai 1999; dort steht "Read-only"
Hat jemand andere Erfahrungen? Muss man einen Trick anwenden? Geht
'feld.value="neuer Wert"' nicht so einfach?Andreas
mit <input type="button" onClick="setzen();">
kannst Du vor dem Versenden nochmals die Werte eines Eingabefeldes ändern.
Du mußt dem Formular-Block aber erst einen Namen geben:
<form name="Formular"...>
mit dem Feldtypen ebenfalls:
<input name="Feld"...>
die Werte dieses Eingabefeldes setzt Du dann im JavaScript-Block:
function setzten()
{
document.Formular.Feld.value= 'Testtext';
document.Formular.submit();
}
dann müßten eigentlich keine Probleme auftauchen.
bye jR.
Hallo,
kannst Du vor dem Versenden nochmals die Werte eines Eingabefeldes ändern.
Nach dem Absenden meines Beitrages ist mir aufgefallen, dass ich im Text
(nur in der Ueberschrift) nicht gesagt habe, dass es sich um ein UPLOAD-Feld
handelt.
Also, ich spreche von UPLOAD-Feldern, nicht normale Text-Felder. Mein
Versaeumnis fuehrte leider zu Missverstaendnissen in den Antworten. Sorry.
Ansonsten gebe ich Dir recht und bedanke mich fuer die Hilfe, aber Code
fuer Text-Felder war mir bekannt (und funktioniert auch).
MfG,
Andreas
Also, ich spreche von UPLOAD-Feldern, nicht normale Text-Felder.
(Upload?!!)
Meinst Du jetzt TYPE=FILE oder doch noch etwas ganz anderes?
Wenn der Browser anhand des Feldtyps ohnehin eine eigene Aktivität starten muß, um einen (ggf. konsistenzgesicherten) Wert (nämlich den Namen einer in diesem Moment existierenden Datei) einzutragen, dann halte ich es sogar für sinnvoll, daß man per JavaScript diesen Wert nicht schreiben kann.
In Netscape3.01 kann man ihn übrigens nicht einmal lesen ... erst wenn man nach erfolgreichem Auswahldialog mindestens einmal mit der Maus in das Textfeld geklickt hat, ist die entsprechende JavaScript-Variable gesetzt ... (ich wollte nämlich in onSubmit abfangen, daß jemand für den Upload nichts ausgewählt hatte, und das klappte eben bei Netscape 3.01 nicht).
Ich fürchte, mehr als das Submit abzubrechen kannst Du mit JavaScript nicht tun.
Wenn Du den Namen kontrolliert ändern willst, dann tu das doch auf dem Server bei der Annahme. (Ich setze auf dem Server beispielsweise erst den tatsächlichen Pfad davor - egal, was mir der Browser mitgeschickt hat.)