2014-09-11 14 views
47

Neu in JS.
Ich versuche zu überprüfen, ob das Dateieingabeelement leer ist, wenn Sie das Formular mit jquery/javascript einreichen. Ich habe eine Reihe von Lösungen durchlaufen und nichts funktioniert für mich. Ich versuche, die/c/fakepath zu vermeiden (es sei denn, es gibt keine andere Option ist)So überprüfen Sie, ob die Eingabedatei in JQuery leer ist

<input type="file" name="videoFile" id="videoUploadFile" /> 

dies nicht funktioniert:

var vidFile = $("#videoUploadFile").value; 

die einzige Art, wie ich den Dateinamen bekommen kann, ist, wenn ich die Verwendung folgende:

var vidFile = document.getElementById("videoUploadFile").files[0].name; 

Wenn der Code keine Datei verfügbar ist gibt einen Fehler aus: cannot read property name of undefined was Sinn macht, da das Array nicht gesetzt ist. aber ich kann nicht herausfinden, wie man damit Fehler behandeln kann.

Wie greife ich richtig das Dateieingabeelement videoUploadFile, überprüfen Sie, ob es leer ist, eine Fehlermeldung, wenn es leer ist?

+5

Überprüfen Sie '.files.length'? – Teemu

+3

Warum sollte jemand diese Frage ablehnen? Ich verstehe SO manchmal nicht. Ich habe Sie auf 0 zurückgesetzt. – Seano666

Antwort

84

Überprüfen Sie einfach die Länge der files Eigenschaft, die ein FileList Objekt ist auf dem Eingangselement enthalten

if(document.getElementById("videoUploadFile").files.length == 0){ 
    console.log("no files selected"); 
} 
+0

dies ist nicht JQuery – josh123a123

70

Hier ist die jQuery-Version davon:

if ($('#videoUploadFile').get(0).files.length === 0) { 
    console.log("No files selected."); 
} 
-1

Fragen: Wie Datei überprüfen ist leer oder nicht?

Am: Ich slove habe dieses Problem mit diesem JQuery Code

//If your file Is Empty :  
 
     if (jQuery('#videoUploadFile').val() == '') { 
 
         $('#message').html("Please Attach File"); 
 
        }else { 
 
          alert('not work'); 
 
        } 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="file" id="videoUploadFile"> 
 
<br> 
 
<br> 
 
<div id="message"></div>

+1

Eine weitere Erklärung, warum dies funktionieren würde oder was in der ursprünglichen Frage falsch war, würde helfen, die Qualität dieser Antwort zu erhöhen. –

+0

@josh burgess diese Antwort war, wie zu überprüfen, Datei ist leer oder nicht ist eine andere Möglichkeit, Ihre Datei zu überprüfen, wenn Sie Formular mit jquery senden. –

2

Um zu überprüfen, ob die Eingabedatei leer ist oder nicht durch die Dateilänge mit jQuery verwenden, müssen wir Verwenden Sie index wie folgt:

var vidFileLength = $("#videoUploadFile")[0].files.length; 
if(vidFileLength === 0){ 
    alert("No file selected."); 
} 
Verwandte Themen