D'après ce que j'ai préparé, vous devriez pouvoir utiliser la propriété 'value' d'un champ de saisie de fichier pour obtenir le chemin actuellement défini pour ce champ. Mais quand je fais ça:
$('#fileinput').value()
Je deviens «indéfini». L'ID du champ est défini sur "fileinput", j'en suis sûr. Quelqu'un at-il des idées sur pourquoi cela pourrait ne pas fonctionner pour moi?
Et au fait, cela fonctionne:
var d = document.getElementById('AttachmentFile');
alert(d.value);
Je suppose donc que cela a quelque chose à voir avec le fonctionnement de jQuery que je ne comprends pas bien.
Merci!
Vous devez utiliser val plutôt que valeur.
$("#fileinput").val();
Dans Chrome 8, le chemin d'accès est toujours "C:\fakepath \" avec le nom de fichier correct.
son pas .val () si vous voulez obtenir le fichier /home/user/default.png il obtiendra avec .val () juste default.png
Je ne pense pas qu'il existe un moyen légitime d'accéder à cela via le DOM. Les navigateurs ont récemment verrouillé leur sécurité pour empêcher les téléchargements à la volée.
Je pense que ça devrait être
$('#fileinput').val();
Jquery fonctionne différemment dans IE et dans les autres navigateurs. Vous pouvez accéder au dernier nom de fichier en utilisant
alert($('input').attr('value'));
Dans IE l'alerte ci-dessus indiquera le chemin complet, mais dans les autres navigateurs, elle ne donnera que le nom du fichier.
Pourriez-vous aussi faire
$(input[type=file]).val()
J'ai essayé ça et ça marche:
yourelement.next().val();
yourelement pourrait être:
$('#elementIdName').next().val();
bonne chance!