Sebastian Lagemann: input type=file value über js verändern?

Hi zusammen,

ich suche nach einer Möglichkeit, das Value von einem input feld (type=file) per JavaScript zu verändern. Ich habe das schon mit document.formularname.inputfile.value = "xyz.exe"; versucht, das ging jedoch nicht. Meine Absicht ist folgende: Ich möchte, dass jemand auf meiner Seite Sachen hochladen kann, was auch schon wunderbar funktioniert, jedoch dauert das natürlich immer einwenig, bis dann nach dem Submit was gescheites angezeigt wird. So habe ich mir gedacht, übertrage ich doch einfach die Werte, die ich in einem sichtbarem Frame kriege, in ein blindes Frame und verändere somit das sichtbare Frame, ohne dass die Übertragung unterbrochen wird. Die Idee ansich funktionierte auch soweit, bis auf, dass die Datei nicht übertragen wird, da das Value vom input feld leer bleibt...
Daher meine Frage, ob es so überhaupt möglich ist, oder wie man das sonst macht, falls es nicht möglich sein sollte, ansonsten wäre ich für eine ausführliche Anleitung dankbar.

Ein Paar Infos:
Ich benutze PHP & MySQL auf einem Linux/Unix System meines Webspace Providers...

HOffe auf eure Hilfe,

Sebastian

  1. Moin,

    ich suche nach einer Möglichkeit, das Value von einem input feld (type=file) per JavaScript zu verändern.

    nein, geht nicht. Aus Sicherheitsgruenden.

    Viele Gruesse,

    n.d.p.

    1. Hallo,

      ich suche nach einer Möglichkeit, das Value von einem input feld (type=file) per JavaScript zu verändern.
      nein, geht nicht. Aus Sicherheitsgruenden.

      Das ist nicht ganz richtig.
      Unter der Voraussetzung, der Benutzer verwendet Netscape, gibt es die Möglichkeit, mit unterzeichneten Javascripten zu arbeiten, welche (nach Nachfrage beim Benutzer) die entsprechenden Sicherheitseinstellungen ändern können.

      Nachzulesen u.a. bei:
      http://developer.netscape.com:80/docs/manuals/communicator/jsguide4/sec.htm

      Empfehlenswert ist es aber trotzdem nicht.

      Grüße
        Klaus

      1. Das ist schlecht, gibts sonst eine Möglichkeit sowas zu realisieren? Könnte man nicht
        zum Beispiel das input feld nur im blindem frame verstecken, und über js das input feld
        dazu bewegen, die datei selektierung zu aktivieren? Das würde im Prinzip aufs gleiche
        hinauskommen. SO könnte man dann nach erfolgreicher Auswahl über JS einfach den Dateinamen
        in ein normales Textfeld im sichtbaren Frame eintragen. Geht sowas, kann man über JS
        das Dialog Feld vom input feld aktivieren?

        Hallo,

        ich suche nach einer Möglichkeit, das Value von einem input feld (type=file) per JavaScript zu verändern.
        nein, geht nicht. Aus Sicherheitsgruenden.

        Das ist nicht ganz richtig.
        Unter der Voraussetzung, der Benutzer verwendet Netscape, gibt es die Möglichkeit, mit unterzeichneten Javascripten zu arbeiten, welche (nach Nachfrage beim Benutzer) die entsprechenden Sicherheitseinstellungen ändern können.

        Nachzulesen u.a. bei:
        http://developer.netscape.com:80/docs/manuals/communicator/jsguide4/sec.htm

        Empfehlenswert ist es aber trotzdem nicht.

        Grüße
          Klaus

        1. Hallo,

          Das ist schlecht, gibts sonst eine Möglichkeit sowas zu realisieren?

          Naja......., mit dem IE schon, Netscape 4.75: no way, Opera 5.11: now way.

          vorsicht, schlimmes HTML, äußerst rudimentär und nicht allgemein verwendbar:

          ---- frameset.htm ----
          <html>
          <frameset rows="45,*" >
            <frame name="form1" src="form1.htm" >
            <frame name="form2" src="form2.htm">
          </frameset>
          </html>
          ---- end of frameset.htm ----

          ---- form1.htm ----
          <html>
          <body>
          <form name="sichtbar">
            <input type="button" value="klick mich" onClick="parent.form2.document.nixda.dateiauswahl.click()">
          </form>
          </html>
          ---- end of form1.htm ----

          ---- form2.htm ----
          <html>
          <body>
          <form name="nixda">
            <input type="file" name="dateiauswahl">
          </form>
          </html>

          ---- end of form2.htm ----

          Aber wie gesagt funktioniert das nicht mit jeder Javascript-Implementierung, also wieder mal was aus der Norm.
          In einer geschlossen Benutzerumgebung mag das ja noch angehen, aber so allgemein, hmmm ich würde trotzdem davon abstand nehmen.
          Abgesehen davon, wenn _ich_ einen Fileupload durchführe, dann _weiß_ ich dass das länger dauern kann. Also weiß ich auch daß ich da warten muß. Ich brauche keine extra anzeige. So funktioniert nun mal das Web.

          Grüße
            Klaus