Können Sie ein Formular Einreichen, werden deaktiviert, wenn eine HTML-Datei-input-Feld leer ist?
In einer form, die enthält nur eine
<input id="fileInput" name="BugReport" type="file" />
Eingabe-Feld, ich möchte deaktivieren Sie die Schaltfläche Senden, wenn die Datei, die Eingabe leer ist (keine Datei gewählt wurde, noch). Gibt es eine empfohlene Weg, dies zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie die
required
- Attribut zum input. Es wird nur in Browsern, die es unterstützen, so sollten Sie einen JavaScript-alternative (<form onSubmit="if(document.getElementById('fileinput').value == '') return false;">
oder etwas entlang jenen Linien).Überprüfen, ob die Datei input-Wert sollte immer funktionieren.
den wahren Pfad der Datei werden unkenntlich gemacht, aus Gründen der Sicherheit, aber der Wert sollte immer wieder etwas, wenn eine Datei ausgewählt ist.
Die Sie tun können, es mit JavaScript. Der folgende code setzt Voraus, Sie haben eine
id
von "s" auf den submit-button des Formulars:Offensichtlich, Sie brauchen, um den Absenden-button deaktiviert, um zu beginnen. Zum Beispiel:
Mit das der beste Weg ist, um Javascript-Validierung aller Eingaben, die als Sie geändert werden. So wie der input verändert wird (man kann das auf change-Ereignis) in Javascript-aktivieren oder deaktivieren der Schaltfläche je.
Diese sollten rufen Sie die javascript-Schaltfläche, die der Eingang zu überprüfen ist, es hat eine gültige Datei und wenn ja, aktivieren Sie die Schaltfläche senden.
Können Sie dies mit jQuery
hoffe, das hilft
ja, Sie können etwas hinzufügen, wie:
oder beginnen Sie mit einem submit-button deaktiviert und aktivieren es, wenn die input-Datei angeklickt wird, der Wert anders ist als der leere string.
überprüfen das jsbin, um zu sehen, welchen Wert ein file-input ist (seine ein "fakepath" und den Namen der Datei)
Wenn Sie mithilfe von HTML5 fügen Sie einfach erforderlich innen input-tag:
Beispiel:
HTML: