Tout nouveau chez JS.
J'essaie de vérifier si l'élément d'entrée de fichier est vide lors de la soumission du formulaire avec jQuery / JavaScript. J'ai parcouru un tas de solutions et rien ne fonctionne pour moi. J'essaie d'éviter le /c/fakepath
(sauf s'il n'y a pas d'autre option)
<input type="file" name="videoFile" id="videoUploadFile" />
Cela ne fonctionne pas:
var vidFile = $("#videoUploadFile").value;
La seule façon d'obtenir le nom de fichier est d'utiliser ce qui suit:
var vidFile = document.getElementById("videoUploadFile").files[0].name;
S'il n'y a pas de fichier disponible, le code génère une erreur:
impossible de lire le nom de propriété non défini
ce qui est logique car le tableau n'est pas défini. mais je ne peux pas comprendre comment faire une gestion d'erreur avec cela.
Comment saisir correctement l'élément d'entrée du fichier videoUploadFile
, vérifier s'il est vide, lancer un message d'erreur s'il est vide?
la source
.files.length
?var files = $('#formbody').find('input[type=file]').filter(function() { return $(this)[0].files.length > 0; });
Réponses:
Vérifiez simplement la propriété length of files , qui est un objet FileList contenu dans l'élément d'entrée
la source
( document.getElementById("videoUploadFile").files.length === 0 )
En voici la version jQuery:
la source
$('#videoUploadFile').get(0)
même que$('#videoUploadFile')[0]
mais peutget()
- être fait quelques vérifications de bon sensPour vérifier si le fichier d'entrée est vide ou non en utilisant la propriété de longueur de fichier,
index
doit être spécifié comme suit:la source
Questions: comment vérifier que le fichier est vide ou non?
Ans: J'ai résolu ce problème en utilisant ce code Jquery
la source
Je sais que je suis en retard à la fête mais j'ai pensé ajouter ce que j'ai fini par utiliser pour cela - qui consiste simplement à vérifier si l'entrée de téléchargement de fichier ne contient pas une valeur de vérité avec l'opérateur not & JQuery comme ceci:
Notez que s'il s'agit d'un formulaire, vous souhaiterez peut-être également l'encapsuler avec le gestionnaire suivant pour empêcher l'envoi du formulaire:
la source