Ganz neu bei JS.
Ich versuche zu überprüfen, ob das Dateieingabeelement leer ist, wenn ich das Formular mit jQuery / JavaScript abschicke. Ich habe eine Reihe von Lösungen durchlaufen und nichts funktioniert für mich. Ich versuche das zu vermeiden /c/fakepath
(es sei denn, es gibt keine andere Option)
<input type="file" name="videoFile" id="videoUploadFile" />
Das funktioniert nicht:
var vidFile = $("#videoUploadFile").value;
Der Dateiname kann nur abgerufen werden, wenn ich Folgendes verwende:
var vidFile = document.getElementById("videoUploadFile").files[0].name;
Wenn keine Datei verfügbar ist, gibt der Code einen Fehler aus:
Der Eigenschaftsname von undefined kann nicht gelesen werden
Das ist sinnvoll, weil das Array nicht gesetzt ist. aber ich kann nicht herausfinden, wie man damit Fehler behandelt.
Wie greife ich das Dateieingabeelement richtig ab videoUploadFile
, überprüfe, ob es leer ist, und gebe eine Fehlermeldung aus, wenn es leer ist?
quelle
.files.length
?var files = $('#formbody').find('input[type=file]').filter(function() { return $(this)[0].files.length > 0; });
Antworten:
Überprüfen Sie einfach die Länge der Eigenschaft files , bei der es sich um ein FileList- Objekt handelt, das im Eingabeelement enthalten ist
quelle
( document.getElementById("videoUploadFile").files.length === 0 )
Hier ist die jQuery-Version davon:
quelle
$('#videoUploadFile').get(0)
das gleiche wie,$('#videoUploadFile')[0]
aber vielleichtget()
macht einige Sanity ChecksUm zu überprüfen, ob die Eingabedatei leer ist oder nicht,
index
sollten Sie Folgendes mithilfe der Dateilängeneigenschaft angeben:quelle
Fragen: Wie überprüfe ich, ob die Datei leer ist oder nicht?
Antwort: Ich habe dieses Problem mit diesem Jquery-Code behoben
quelle
Ich weiß, dass ich zu spät zur Party komme, aber ich dachte, ich würde hinzufügen, was ich letztendlich dafür verwendet habe - das heißt, einfach zu überprüfen, ob die Datei-Upload-Eingabe keinen wahrheitsgemäßen Wert enthält, mit dem nicht-Operator & JQuery wie folgt:
Beachten Sie, dass Sie dieses Formular möglicherweise auch mit dem folgenden Handler umschließen möchten, um zu verhindern, dass das Formular gesendet wird:
quelle