11548 sujets

JavaScript, DOM et API Web HTML5

Salut à tous

je voudrais faire un upload automatique c'est à dire faire un input de type file qui lance l'upload dès qu'on lui affecte une valeur. Mais j'ai un problème pour reconnaitre si la valeur du input file est vide ou non.

Voici un exemple de code très simple (en théorie) :
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>  
	<script type="text/javascript" language="javascript">
		function onBlurInputFile(element)
		{
			var value  = element.value;
			var taille = parseInt(value.length,10);
			if(taille===0);
			{
				alert("rien de sélectionner (taille : "+taille+")");
				return;
			}
			alert("ok faire l'upload");
		}
	</script>
	</head>
	<body>

	<input type="file" onchange="onBlurInputFile(this);"/>
	</body>
</html>


avec ce code, lorsque je choisi un fichier, j'ai le message "rien de sélectionner (taille : 73)"

quelqu'un y comprends quelque chose ??

PS : taille==0 c'est pareil !
Modifié par PoichOU (02 Oct 2007 - 19:10)
Salut,

Pour des raisons de sécurité, il n'est pas possible en JavaScript d'accéder à la valeur d'un champ de type "file".
Salut,

merci de ta réponse mais dans mon code je récupère "73" qui correspond bien à la taille du champ value de mon input file.
Ah oui, désolé, j'ai dit une bêtise. La propriété "value" est en lecture seule.

Dans ton cas, le problème vient d'un point-virgule indésirable :
if(taille===0)[b];[/b]
Smiley bawling Smiley bawling j'ai envie de pleurer comme un bébé tellement j'me suis cassé la tête sur un truc aussi bête !

merkiiiiiiiii à toi Smiley cligne
En même temps, un bouton submit permet d'éviter certaines erreurs remarquées trop tard, et surtout de permettre l'envoi du fichier par ceux qui n'ont pas de JS Smiley cligne

Si tu veux vraiment faire l'upload automatique, mais pas sacrifier le reste, planque le submit au moment du chargement de la page Smiley smile
Salut

qu'entends-tu par "certaines erreurs remarquées trop tard" ?

PS : Ce script est utilisé dans la partie admin d'un site et donc inaccessible au public. Je sais donc que les personnes qui sont amener à l'utiliser ont javascript d'actif. Smiley cligne
Genre tu sélectionne un fichier trop vite, et le truc part. Avec un submit, ça laisse quelques secondes à ton réseau neuronal de te rendre compte de l'erreur Smiley lol
ah ok.

Ce n'est pas vraiment prévu, mais il y a toujours la possibilité de supprimer le fichier qu'on vient d'uploader.

ça me fait penser que se serait bien que je puisse prevoir un système d'annulation (genre si le fichier est super gros) Smiley ohwell