Ist es möglich, zu verhindern, dass ein Benutzer ein Dateieingabe-Textfeld in IE eingibt? Der Grund, warum ich frage ist, dass, wenn ein Benutzer Text eingibt, der nicht wie ein Dateisystempfad aussieht (zB startet nicht mit etwas wie c: ...), dann wird nichts passieren, wenn der Benutzer auf den Submit-Button klickt. p>
Ich möchte entweder nicht zulassen, dass der Benutzer die Box eingibt oder das Formular wie üblich einreichen lässt.
Ich habe festgestellt, dass die gleiche Frage hier ohne Antwort gestellt wurde: Ссылка
Und diese Person hat einen Hack gefunden, den ich benutzen kann, wenn es keine andere passende Antwort gibt: Ссылка
BEARBEITEN: Zur Klärung - wenn der Benutzer "nicht einen Dateipfad" in das Textfeld neben der Schaltfläche "Durchsuchen" eingibt und auf "Senden" klickt, wird im IE nichts passieren. Das Formular wird nicht gesendet - IE erlaubt kein Formular, wenn ein & lt; Eingabetyp="Datei" & gt; Box hat keinen echten Dateipfad.
Ich habe dies auf eine andere Weise gelöst, indem ich eine Schaltfläche anstelle einer Submit-Methode verwendet habe und JavaScript verwendet habe, um den Wert vor dem Senden zu überprüfen.
%Vor%Mir ist klar, dass es noch eine serverseitige Validierung für die Datei geben muss, aber dies soll nur verhindern, dass ein Benutzer auf die Schaltfläche "Senden" klickt und nichts passiert. Außerdem wird IE unter Verwendung eines Windows-Betriebssystems angenommen.
Ein Weg ist es, ein wenig Javascript-Code in die Schaltflächen onsubmit zu setzen. Die Idee ist, die Box zu validieren und entweder die Einreichung zu stoppen oder zu erlauben.
Allerdings ist es wahrscheinlich besser, wenn Sie nur den Dateiinhaltsserver überprüfen und den entsprechenden Fehler an den Client zurückgeben.
Der Eingabetyp = Die Werteigenschaft des Dateielements wird wie beim Sicherheitsproblem gelesen. Sie können diese Eigenschaft lesen und eine Überprüfung durchführen. Wenn es nicht Ihren Regeln entspricht, geben Sie eine Warnung und lassen die Person es ändern. Die andere Möglichkeit, die outerHTML-Eigenschaft zu verwenden, überschreibt sie. beispielsweise: HTML-Eingabedateielement namens objInputFileElement. objInputFileElement.outerHTML="";
Ich habe meine Lösung auf diesem Thema . Also, in Anbetracht dieses Dateifeldes: Ich habe es mit so etwas in jquery arbeiten lassen: HINWEIS: Sie müssen keydown anstelle von drücken verwenden, da dieser Bereich abgedeckt ist DEL und RÜCKTASTE sowie irgendein Druckschlüssel.
Tags und Links html internet-explorer file input filepath