Affecter la valeur d'un input type="file" à une variable...

Fermé
natboy - 21 mai 2013 à 18:02
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 23 mai 2013 à 20:08
Bonjour, je cherche comment affecter la valeur d'un input type="file" à une variable et voici mon code:


var img_1, img_2, img_3, img_4, img_5, img_6, img_7, img_8, img_9, img_10, img_11, img_12, img_13, img_14, img_15;

function go()
			{

				var images = document.getElementById('images');

				for (var i = 0; i < images.files.length; i++)
				{
					var img = images.files.item(i).name;
					alert('Voici un fichier selectionné: ' + img);
					
// c'est ici que je veut  affecter les valeur aux variables...

					if(img_1 != img.value)
					{
						img_1 = img.value;
					}
					
					if(img_1 == img.value)
					{
						img_2 = img.value;
					}
					
					if(img_2 == img.value)
					{
						img_3 = img.value;
					}
					
					if(img_3 == img.value)
					{
						img_4 = img.value;
					}
					
					if(img_4 == img.value)
					{
						img_5 = img.value;
					}
					
					if(img_5 == img.value)
					{
						img_6 = img.value;
					}
					
					if(img_7 == img.value)
					{
						img_8 = img.value;
					}
					
					if(img_8 == img.value)
					{
						img_9 = img.value;
					}
					
					if(img_9 == img.value)
					{
						img_10 = img.value;
					}
					
					if(img_10 == img.value)
					{
						img_11 = img.value;
					}
					
					if(img_11 == img.value)
					{
						img_12 = img.value;
					}
					
					if(img_12 == img.value)
					{
						img_13 = img.value;
					}
					
					if(img_13 == img.value)
					{
						img_14 = img.value;
					}
					
					if(img_14 == img.value)
					{
						img_15 = img.value;
					}
					
					alert('img_1 vaut: ' + img_1);
					alert('img_2 vaut: ' + img_2);
					alert('img_3 vaut: ' + img_3);
					alert('img_4 vaut: ' + img_4);
					alert('img_5 vaut: ' + img_5);
					alert('etc...');
				}
				
			}



Je ne sais pas comment faire! J'ai besoin d'aide!

Merci d'avance
A voir également:

6 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
21 mai 2013 à 18:12
pourquoi .value et pas .name ?
0
J'ai essayé mais ça ne marche pas...
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
22 mai 2013 à 21:38
voilà comme ça chez moi ça marche:
<html>
<script type="text/javascript">
var img_1, img_2, img_3, img_4, img_5, img_6, img_7, img_8, img_9, img_10, img_11, img_12, img_13, img_14, img_15;

function go()
			{

				var images = document.getElementById('images');
				

				for (var i = 0; i < images.files.length; i++)
				{
					var img = images.files.item(i).name;
					alert('Voici un fichier selectionné: ' + img);
					
// c'est ici que je veut  affecter les valeur aux variables...
					j=i+1;
						//variable dynamique
					window['img_'+j]=img;				
					
				}
				
				for (var i = 0; i < images.files.length; i++)
				{
					j=i+1;
					alert('img_'+j+' vaut: ' + window['img_'+j]);
				
				}
			}
</script>

<input type="file" name="images" id="images" multiple value="" onchange="go();"/>	
0
Ah! Ça, ça marche! mais qu'est-ce que window['img_'+j]=img; et j=i+1; vaut dire? En plus, j n'est même pas déclaré.

Je ne comprend pas.

Pouvez-vous m'expliquer, s.v.p.?

Merci!
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
23 mai 2013 à 18:29
quelques explications complémentaires:
<script type="text/javascript">
var img_1, img_2, img_3, img_4, img_5, img_6, img_7, img_8, img_9, img_10, img_11, img_12, img_13, img_14, img_15;

function go()
			{
				var images = document.getElementById('images');				

				for (var i = 0; i < images.files.length; i++)
				{
					var img = images.files.item(i).name;
					alert('Voici un fichier selectionné: ' + img);
					
// c'est ici que je veut  affecter les valeur aux variables...
	//dans la boucle for le compteur i commence à 0, tu voulait que img_x commence à 1 donc c'est pour cela que je suis passé par un compteur j qui vaut i+1 à chaque passage de la boucle
	
					j=i+1;
						//variable dynamique
						//window c'est une methode pour créer une variable dynamique, et lui affecter le name de l'image par =img
						//a chaque tour de la boucle on va créer une variable img_j 
						//c'est à dire img_1,img_2, etc..
						
						//de plus on ne créera que le nombre nécessaire, égal au nombre d'images sélectionnées
						
					window['img_'+j]=img;				
					
				}

				//et la  boucle ci dessous c'est seulement pour afficher seulement les img_x  qui ont été chargée par un name d'image
				//si tu veux tu peux faire alert( 'img_1 vaut '+img_1);  etc....
				for (var i = 0; i < images.files.length; i++)
				{
					j=i+1;
					alert('img_'+j+' vaut: ' + window['img_'+j]);
				
				}
			}
</script>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci! Je comprend mieux!

Voila mon code complet:

<script type="text/javascript">
  
   var images, filmImages;
  
   var img, i, j, img_1, img_2, img_3, img_4, img_5, img_6, img_7, img_8, img_9, img_10, img_11, img_12, img_13, img_14, img_15;

   function go()
   {
    filmImages = document.getElementById('filmImages');
    images = document.getElementById('images');
    
    for (i = 0; i < images.files.length; i++)
    {
     img = images.files.item(i).name;
     
     alert('Voici un fichier selectionné: ' + img);

     j = i + 1;

     window['img_' + j] = img;    
    }
    
    setInterval(function(){goFilm()},10000);
   }
   
   function goFilm()
   {
    if(i < images.files.length)
    {
     i++;
    }

    else
    {
     i = 0;
    }
    
    j = i + 1;
    filmImages.src = window['img_' + j];
   }
   
  </script>

<input type='file' id='images' onchange="go()" multiple />

<img src="" id="filmImages" />


C'est juste que ça ne marche pas pour changer l'attribut src de l'image id="filmImages".

Pouvez-vous m'aider (encore : ) ), s.v.p.?

Merci!
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
23 mai 2013 à 20:08
filmImages.src = window['img_' + j];
il faut pour le src le chemin complet vers l'image
0