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. pourquoi .value et pas .name ?
    0
    1. J'ai essayé mais ça ne marche pas...
      0
  2. 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
    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!
      0
      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>
        0
        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!
          0
          1. filmImages.src = window['img_' + j];
            il faut pour le src le chemin complet vers l'image
            0