60 votes

Impossible d'obtenir la valeur de l'entrée type="fichier" ?

J'ai un <input type="file" id="uploadPicture" value="123">

Quand je l'utilise : alert($("#uploadPicture").val());

Il alerte un dialogue vide.

59voto

Dmitry Vyprichenko Points 2580

@BozidarS : FileAPI est assez bien supporté de nos jours et fournit un certain nombre d'options utiles.

var file = document.forms['formName']['inputName'].files[0];
//file.name == "photo.png"
//file.type == "image/png"
//file.size == 300821

47voto

Quentin Points 325526

Vous pouvez le lire, mais vous ne pouvez pas set il. value="123" sera ignoré, il n'aura donc pas de valeur tant que vous ne cliquerez pas dessus et ne choisirez pas un fichier.

Même dans ce cas, la valeur sera probablement tronquée avec quelque chose comme c:\fakepath\ pour garder les détails du système de fichiers de l'utilisateur privés.

12voto

Naresh.P Points 130

Vous pouvez l'obtenir en utilisant document.getElementById() ;

var fileVal=document.getElementById("some Id");
alert(fileVal.value);

donnera la valeur du fichier, mais il donne le faux chemin comme suit

c:\fakepath\filename

5voto

Jack Marchetti Points 8912
$('input[type=file]').val()

Cela vous permettra d'obtenir le fichier sélectionné.

Cependant, vous ne pouvez pas définir la valeur vous-même.

4voto

marcosfromero Points 2575

Vous ne pouvez pas définir le value d'un file dans le balisage, comme vous l'avez fait avec value="123" .

Cet exemple montre que cela fonctionne vraiment : http://jsfiddle.net/marcosfromero/7bUba/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X