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

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

6 réponses

  1. filmImages.src = window['img_' + j];
    il faut pour le src le chemin complet vers l'image
    1. 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!
      1. 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>
        1. 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!
          1. 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();"/>