LosPablos: Probleme mit Dateiupload-Formular

Hi!

Ich bin gerade dabei, eine Webapplikation in ColdFusion zu schreiben und stehe nun vor einem Problem:

Ich habe ein Formular erstellt, dass einen Dateiupload enthält. Auf der Submit-seite habe ich dann den entsprechenden ColdFusion-Code erstellt, der die Datei dann hochlädt.
Das funktioniert auch wunderbar, aber wenn ich keine Datei zum Hochladen angebe, dann bekomme ich eine Fehlermeldung, dass er keine Datei zum Hochladen hat.
Ich würde den Hochlade-Tag auf der Submit-Seite ja gerne mit einer Abfrage ausklammern, weiss aber nicht, wie ich das genau machen soll!

Kann ich das vielleicht auch mit Javascript machen, indem ich z.B. eine Variable innerhalb des "OnChange" Attributes definiere und diese dann auf der anderen Seite abfrage?

Vielen Dank für Eure Hilfe!

MfG Pablos

  1. Hi Pablos,

    du hast doch sicherlich ein Formular zum Hochladen definiert?
    Dann würde ich lieber die onSubmit-Eigenschaft in das Form-Tag setzen, die ein JavaScript aufruft. Das Skript schaut,nach, ob das Datei-Feld ausgefüllt wurde und liefert true, anonsten false zurück.
    Wenn der Submit-Button geklickt wird, wird das onSubmit-Ereignis ausgelöst. Wenn true geliefert wird, wird das Form abgeschickt, ansonsten bleibt es stehen...

    MfG, Kay

    1. Hi Pablos,

      du hast doch sicherlich ein Formular zum Hochladen definiert?
      Dann würde ich lieber die onSubmit-Eigenschaft in das Form-Tag setzen, die ein JavaScript aufruft. Das Skript schaut,nach, ob das Datei-Feld ausgefüllt wurde und liefert true, anonsten false zurück.
      Wenn der Submit-Button geklickt wird, wird das onSubmit-Ereignis ausgelöst. Wenn true geliefert wird, wird das Form abgeschickt, ansonsten bleibt es stehen...

      MfG, Kay

      Hi Kay,

      danke erstmal für Deine Antwort!

      Ich habe aber das Problem, dass das Formular auch ohne Dateiupload abgeschickt werden muss! Ich müsste also auf der Seite, auf der der Upload erfolgt, den Upload irgendwie ausklammern. Von daher müsste ich prüfen, ob was in dem Feld steht und diese Variable dann an die Upload-Page übergeben. Da müsste ich dann im If-Satz diese Variable abfragen und entweder den Upload dann ausführen, oder nicht.

      MfG Pablos

      1. Hi,

        dann frag doch mittels <cfif> im upload-Template ab, ob das Formfeld definiert und nicht leer ist.

        CYA
        Thorsten

        1. Hi,

          dann frag doch mittels <cfif> im upload-Template ab, ob das Formfeld definiert und nicht leer ist.

          CYA
          Thorsten

          Hey Thorsten, das würde ich gerne machen! Aber wie kann ich das Uploadfeld denn abfragen? Meines erachtens gibt es das "Value" Attribut innerhalb des Uploadtags nicht! Gib mir mal bitte nen Tip, wie du das machen würdest.

          <input type="file" name="flABild">

          Wie kann ich dieses Feld auf der nächsten Seite abfragen?

          Gruss Pablos

          1. <input type="file" name="flABild">

            Du kannst dir ja mal im Uploadfile-Template das Formular mit <cfdump var="#form#"> anzeigen lassen.

            Wenn du keinen Dateinamen ausgewählt hast, bekommst du einen leeren String zurück, wenn was darin steht, einen String mit Inhalt.

            Also musst du so abfragen:

            <cfif form.flABild neq"">
             Voll
            <cfelse>
             Leer
            </cfif>

            CYA
            THORSTEN