Matrix: Dateifeld zum Pflichtfeld machen

Hallo.
Ich erstelle gerade Validierungen für meinen Formmailer "MagicMail deluxe" (http://magicmail.tmc2000.de/).
Wie zur Hölle kann ich ein Dateifeld mit Javascript überprüfen?
Es soll zum Pflichtfeld werden.

Ein Problem ist, dass man mit diesem Formmailer beliebig viele Dateien mitsenden kann und die Bezeichnung des Dateifelds vorgeschrieben ist: mm_file[]

Bitte nur jemand antworten, der sich ein klein wenig auskennt oder weiss, was er sagt. Danke!

Schöne Grüße

Lars.

  1. Hi,

    Wie zur Hölle kann ich ein Dateifeld mit Javascript überprüfen?

    wo genau bist Du auf was für Probleme gestoßen, die Du nicht anhand von SelfHTML, dem Archiv und einschlägigen Suchmaschinen hast lösen können?

    Ein Problem ist, dass man mit diesem Formmailer beliebig viele Dateien mitsenden kann und die Bezeichnung des Dateifelds vorgeschrieben ist: mm_file[]

    Das ist in der Tat ein Problem, aber nur ein organisatorisches, kein technisches. Das Script ist ob dieser Vorgabe der Kategorie "grottenschlecht" zuzuordnen; mit hinreichend gutem Willen ist diese Beschränkung aber kein Hindernis.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      Wie zur Hölle kann ich ein Dateifeld mit Javascript überprüfen?

      wo genau bist Du auf was für Probleme gestoßen, die Du nicht anhand von SelfHTML, dem Archiv und einschlägigen Suchmaschinen hast lösen können?

      Ach der gute Cheatah. Wieder mal unkonstruktiver Beitrag von wegen sprich mich nicht an und schau in der Suche nach. Dabei hab ich extra gesagt, bitte jemand, der sich damit auskennt.
      Auszukennen scheinst Du Dich anscheinend nicht, sonst würdest Du wissen, dass die Vorgehensweise beim multiplen Dateiupload eben die ist, dass man die Brackets [] bei den Dateifeldern nutzt (siehe PHP-Handbuch "Steuerung von Dateiuploads".

      Ein Problem ist, dass man mit diesem Formmailer beliebig viele Dateien mitsenden kann und die Bezeichnung des Dateifelds vorgeschrieben ist: mm_file[]

      Das ist in der Tat ein Problem, aber nur ein organisatorisches, kein technisches. Das Script ist ob dieser Vorgabe der Kategorie "grottenschlecht" zuzuordnen; mit hinreichend gutem Willen ist diese Beschränkung aber kein Hindernis.

      Das ist schon eine Frechheit, mein Skript mit grottenschlecht zu betiteln, ohne es angeschaut zu haben. Danke.

      Cheatah

      Übrigens habe ich natürlich vorher im Web gesucht und nichts gefunden :-(
      Selbst die Suche im Self-Forum nach "Dateifeld Pflicht" und "Dateifeld prüfen" hat leider nichts gebracht. Also wenn sich doch irgendeiner mit dem Überprüfen von Dateifeldern auskennt bitte melden :-)

      Nochmal kurz die Anforderung (so dass es auch jeder versteht):
      Wie kann man über Javascript ein dateifeld auf Pflichteingabe prüfen, dessen name "mm_file[]" ist - Dankeschön.

      1. Hi,

        Ach der gute Cheatah. Wieder mal unkonstruktiver Beitrag von wegen sprich mich nicht an und schau in der Suche nach. Dabei hab ich extra gesagt, bitte jemand, der sich damit auskennt.

        wenn Du nicht in der Lage bist, meine Rückfrage als notwendig zu erkennen, kann ich Dir auch nicht helfen.

        Auszukennen scheinst Du Dich anscheinend nicht, sonst würdest Du wissen, dass die Vorgehensweise beim multiplen Dateiupload eben die ist, dass man die Brackets [] bei den Dateifeldern nutzt (siehe PHP-Handbuch "Steuerung von Dateiuploads".

        Da diese Klammern faktisch kein Problem darstellen - das Archiv ist voll mit Beispielcodes - kann es wohl nicht daran liegen, dass "ich mich nicht auskenne".

        Das ist in der Tat ein Problem, aber nur ein organisatorisches, kein technisches. Das Script ist ob dieser Vorgabe der Kategorie "grottenschlecht" zuzuordnen; mit hinreichend gutem Willen ist diese Beschränkung aber kein Hindernis.
        Das ist schon eine Frechheit, mein Skript mit grottenschlecht zu betiteln, ohne es angeschaut zu haben. Danke.

        PHP an sich ist grottenschlecht. Dass sich dies auf die Implementierungen in dieser Sprache auswirkt, ist nicht Deine Schuld.

        Übrigens habe ich natürlich vorher im Web gesucht und nichts gefunden :-(

        Dann solltest Du Deine Suchstrategie überarbeiten.

        Selbst die Suche im Self-Forum nach "Dateifeld Pflicht" und "Dateifeld prüfen" hat leider nichts gebracht.

        Dein Problem ist nicht, irgendwelche <input>s zu überprüfen oder zum Pflichtfeld zu machen - wenn ich Deine Äußerungen richtig interpretiere, kannst Du dies im Prinzip. Dein Problem ist, dass Deine Methode bei den Namen, die PHP Dir aufzwingt, versagt. Suche also _danach_.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
      2. hi,

        Ach der gute Cheatah. Wieder mal unkonstruktiver Beitrag von wegen sprich mich nicht an und schau in der Suche nach.

        und wieder mal das noch unkonstruktivere förmchen-aus-dem-sandkasten-werfen eines newbees, wenn die antwort nicht das enthält, was er _erwartet_ hat (das man in ein forum nicht mit einer _erwartungshalteung_ reingehen sollte, versteht sich doch eigentlich von selbst).

        Dabei hab ich extra gesagt, bitte jemand, der sich damit auskennt.

        tu er ja auch.

        Wie kann man über Javascript ein dateifeld auf Pflichteingabe prüfen, dessen name "mm_file[]" ist - Dankeschön.

        wie cheatah schon sagte, hast du vermutlich lediglich ein problem mit demzugriff auf das feld, nicht mit der überprüfung.
        um sich deiner "also wieder mal"-ausdrucksweise anzupassen:
        "also wieder mal jemand, der nicht in der lage ist, seine frage präzise zu stellen."

        und wenn du mal auf http://selfhtml.teamone.de/javascript/objekte/elements.htm nachschaust, so findest du dort mehrere möglichkeiten genannt, wie du auf ein formualrfeld zugreifen kannst. eine davon fürht dich auch bei deinem "problem" ans ziel.

        gruss,
        wahsaga

        1. und wieder mal das noch unkonstruktivere förmchen-aus-dem-sandkasten-werfen eines newbees, wenn die antwort nicht das enthält, was er _erwartet_ hat (das man in ein forum nicht mit einer _erwartungshalteung_ reingehen sollte, versteht sich doch eigentlich von selbst).

          Neinnein. Beobachte das schon seit Monaten. Auch wenn der Cheatah sich in vielem auskennt, sollte er mal ein bisschen Forumspause einlegen, da seine inneren Barrieren ob der vielen bösen Newbies, die sich nicht mal bemühen, die Suche anzuwerfen von vornerein so hoch sind, dass er nicht mehr normale User erkennt :-(. Könnte man vielleicht sogar verstehen. Will ich aber nicht. Warum nicht? Weil der Agress schon so hoch ist, dass er ganz schön ausfallend werden kann. Zugute halten muss man wohl, dass die Antwort auf meinen bissigen Beitrag recht kulant ausgefallen ist (Respect).

          Dabei hab ich extra gesagt, bitte jemand, der sich damit auskennt.
          tu er ja auch.

          darin wohl nicht. Muss man sich in allem auskennen?

          Wie kann man über Javascript ein dateifeld auf Pflichteingabe prüfen, dessen name "mm_file[]" ist - Dankeschön.
          wie cheatah schon sagte, hast du vermutlich lediglich ein problem mit demzugriff auf das feld, nicht mit der überprüfung.
          um sich deiner "also wieder mal"-ausdrucksweise anzupassen:
          "also wieder mal jemand, der nicht in der lage ist, seine frage präzise zu stellen."

          Quatsch. Präziser geht's nicht: ich wollen checken, ob Dateifeld mm_file[] leer. Wie geht?

          und wenn du mal auf http://selfhtml.teamone.de/javascript/objekte/elements.htm nachschaust, so findest du dort mehrere möglichkeiten genannt, wie du auf ein formualrfeld zugreifen kannst. eine davon fürht dich auch bei deinem "problem" ans ziel.

          Da wäre ich an Deiner Stelle garnicht so sicher. Immerhin habe ich diese Seite auf meinem Rechner und kenne Sie schon.

          Sag mal, sollte ich Deiner Meinung nach jetzt alles aufzählen, was ich schon versucht habe, nur dass andere Leute wissen, welche Antwort sie NICHT geben sollen? Deswegen sagte ich "Bitte jemand, der die Problematik kennt".

          Ich habe jetzt übrigens eine Möglichkeit gefunden:
          var Eintrag = document.getElementsByName("mm_file[]")[0].value;
             if(Eintrag == "")  {

          alert("Bitte geben Sie eine Datei an.");

          document.getElementsByName("mm_file[]")[0].focus();

          return false;

          }
          Naja, eigentlich einfach easy, nicht wahr?
          Es sind im SelfHTML übrigens viiieleviele Seiten in denen ich hätte nachsehen können und wenn ich das getan hätte, wäre ich jetzt Professor HTML und müsste bestimmt nicht hier nachfragen; aber: Is doch garnichtmal so schlimm gewesen, oder?

          gruss,
          wahsaga

          Gruß Matrix

          1. Ich habe jetzt übrigens eine Möglichkeit gefunden:
            var Eintrag = document.getElementsByName("mm_file[]")[0].value;
               if(Eintrag == "")  {

            alert("Bitte geben Sie eine Datei an.");

            document.getElementsByName("mm_file[]")[0].focus();

            return false;

            }

            NACHTRAG:
            Das funktioniert nur bei IE5+, NS6+, Opera 5.irgendwas+.

            Laut einem Kollegen, funktioniert folgendes auch bei älteren Versionen:

            if (document.magicmail_form("mm_file[]")[1].value=="" ) {
             alert("Bitte geben Sie eine Datei an.");
             return false;
            }';

            Grüüüße Matrix