Andreas Schmidt: Aendern des VALUE eines Upload-Feldes in 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:

  1. einen Selbstversuch; egal, was ich VALUE zuweise, in einer alert-Ausgabe steht
        der alte Wert
  2. 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

  1. 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

    1. 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

  2. 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:

    1. einen Selbstversuch; egal, was ich VALUE zuweise, in einer alert-Ausgabe steht
          der alte Wert
    2. 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.

    1. 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

      1. 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.)