J'ai un simple formulaire html avec une entrée de téléchargement de fichier unique. ( jsfiddle)
Dans le passé, j'ai accédé au fichier sélectionné par l'utilisateur en utilisant input.files
, mais je ne sais pas comment procéder avec JQuery;
Code:
$(function () {
$("#cmdSubmit").bind("click", function () {
var file = document.getElementById("fileInput").files[0];
alert(file); //A
file = $("#fileInput").val();
alert(file); //B
file = $("#fileInput").files[0];
alert(file); //C
});
});
Option [~ # ~] un [~ # ~] donnez-moi ce que j'attends, un objet fichier. Cependant, l'option [~ # ~] b [~ # ~] me donne simplement le nom du fichier téléchargé et (pour autant que je sache) ) pas le fichier lui-même.
L'option [~ # ~] c [~ # ~] montre que files
n'est pas défini.
Quel est l'équivalent Jquery de input.files
?
Remarque: je n'ai aucune objection à utiliser du javascript natif; mais étant donné que j'utilise JQuery dans le reste de ce projet, je préférerais l'utiliser ici si possible.
Vous devez accéder à l'élément. Essayer:
file = $("#fileInput")[0].files[0];
alert(file); //C
ou (merci Jack)
file = $("#fileInput").prop('files')[0];
alert(file);
Essayez le code ci-dessous
var file = $("#fileInput").get(0).files[0];
alert(file);
Merci
jQuery ne fournit pas de wrapper pour l'API Files. Il n'y a donc pas de méthode de style jQuery pour le faire, du moins pas intégrée dans le noyau jQuery.
Vos options:
$(function () {
$("#cmdSubmit").bind("click", function () {
alert(this.files);
});
});