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

natboy -  
Alain_42 Messages postés 5413 Statut Membre -
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. Alain_42 Messages postés 5413 Statut Membre 904
     
    pourquoi .value et pas .name ?
    0
    1. natboy
       
      J'ai essayé mais ça ne marche pas...
      0
  2. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  3. NatBoy6284
     
    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
  4. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. NatBoy6284
     
    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
  7. Alain_42 Messages postés 5413 Statut Membre 904
     
    filmImages.src = window['img_' + j];
    il faut pour le src le chemin complet vers l'image
    0