IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[formulaire] r�initialiser un champ de type file


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 24
    Par d�faut [formulaire] r�initialiser un champ de type file
    Bonjour,

    J'ai un formulaire dans lequel j'utilise la balise input de type file pour permettre � l'utilisateur d'ajouter des fichiers.
    Tout fonctionne bien, mais je dois am�liorer la chose en r�cup�rant le chemin des fichiers s�lectionn�s et en fansant l'upload une seule fois lorsque l'utilisateur valide le formulaire ou en diff�r�.

    Je ne sais pas comment r�initialiser mon champ ap�s avoir r�cup�r� le chemin du fichier s�lectionn� pour que l'upload ne soit pas fait lorsque je recharge la page pour mettre � jour le formulaire.

  2. #2
    Expert confirm�
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par d�faut
    pour des raisons evidentes de s�curit� tu ne peux pas acc�der au value d'un input file.

    si tu veux le reinitialiser, soit tu passes par le reset() du form, soit tu en recr�� un avec un createElement et apres tu fais un replaceChild

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 24
    Par d�faut
    Je viens d'�ssayer avec le reset() comme ceci :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.formulaire.fichier.reset();
    Mais �a ne semble pas fonctionner, c'est comme si tout se figeait arriv� � cette ligne.

    Pourriez vous me donner quelques pr�cisions concernant l'autre m�thode s'il vous pla�t ? Je dois cr�er une fonction de reset c'est bien �a? Et c'est quel �l�ment qu'il faut remplacer?

    merci.

  4. #4
    Expert confirm�
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par d�faut
    c est sur le formulaire qu on appel reset, pas sur le champ.
    Mais ca va mettre tout le form a z�ro.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 24
    Par d�faut
    Je m'en suis dout� un peu apr�s avoir essay� sur le champ. Mais le probl�me en faisant un reset sur le formulaire c'est qu'il y a des valeurs dans les autres champs qu'il fo garder.

  6. #6
    Expert confirm�
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par d�faut
    ben donc deuxiemem solution, recr�� un input file et remplacer l autre.

    Mais tu perdras le chemin vers le fichier.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 24
    Par d�faut
    C'est justement pour garder que le chemin que je cherche une solution alors si je le perds, �a m'aide pas.

  8. #8
    Expert confirm�
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par d�faut
    tu ne pourras pas car le value d un file n'est pas accessible !

    je comprend pas pourquoi tu veux le mettre de cot�

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 24
    Par d�faut
    C'est simple, si je laisse tel quel, l'upload du fichier se fait imm�diatement apr�s l'avoir s�lectionn� car j'effectue des controle et je remets � jour l'affichage. Et je ne veux pas faire l'upload � ce moment mais qu'apr�s la s�lection de tout les fichiers.
    Y a peut-�tre un autre m�thode pour �a mais j'esp�re que je dois pas modifier tout mon code pour �a.

  10. #10
    Expert confirm�
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par d�faut
    pourquoi ne pas faire de controle cote client a ce moment la ?

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 24
    Par d�faut
    Pour le cont�le c'est encore faisable mais c'est du php qui est utilis� pour l'affichage et donc il faut obligatoirement passer par le serveur � ce moment l� pour raffraichir.

  12. #12
    Expert confirm�
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par d�faut
    pourquoi veut tu rafraichir ?
    penches toi sur la verification de formulaire en javascript.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 24
    Par d�faut
    Pour les contr�les, c'est bon �a va pouvoir se faire c�t� client en javascript, � ce niveau l� il n'y a plus de probl�me.
    Mais il faut bien rafraichir la liste des fichiers s�lectionn�s ap�s chaque ajout.

  14. #14
    Expert confirm�
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par d�faut
    pourquoi faire ?

    Que veux tu faire exactement ?

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 24
    Par d�faut
    Comme je l'ai d�j� dit, l'utilisateur a besoin de joindre des fichiers � mon formulaire. Si jamais il se trompe, Il doit aussi pouvoir supprimer un fichier qu'il a joint, donc la liste des fichiers joints est toujours affich�e et mise � jour apr�s chaque ajout. Tout �a c'est fait en php et jusqu'� pr�sent �a faisait parfaitement l'affaire.

    Vient maintenant s'ajouter une contrainte suppl�mentaire : l'utilisateur ne doit pas avoir � attendre entre l'ajout de chaque fichier, d'o� le besoin de r�cup�rer uniquement le chemin des fichiers et de faire l'upload � la fin. De plus cela permet de ne pas uploader un fichier qui sera peut-�tre supprimer apr�s.

    Voil� tout.

    Je viens de trouver un script qui permet de faire �a en javascript mais le probl�me c'est que �a ne s'int�gre pas dans mon code.

  16. #16
    Expert confirm�
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <html>
    	<head>
    		<title>files</title>
    		<script type='text/javascript'>
    			var cmpt = 0;
    			function add(){
    				inp = document.createElement("input");
    				inp.type = "file";
    				inp.name = "lenom[]";
    				lediv = document.createElement("div");
    				lediv.id = "fichier"+cmpt;
    				check = document.createElement("input");
    				check.type = "checkbox";
    				check.name = cmpt;
    				check.onclick = function(){
    					elt = document.getElementById("fichier"+this.name);
    					elt.parentNode.removeChild(elt);
    				}
    				lab = document.createElement("label");
    				lab.appendChild(document.createTextNode("Enlever"));
    				lediv.appendChild(inp);
    				lediv.appendChild(check);
    				lediv.appendChild(lab);
    				document.getElementById("fichiers").appendChild(lediv);
    				cmpt++;
    			}
    		</script>
    	</head>
    	<body>
    		<form>
    			<fieldset id="fichiers">
    				<legend>Fichiers</legend>
    				<input type='button' onclick='add()' value='Ajouter un fichier' />
    			</fieldset>
    		</form>
    	</body>
    </html>
    Utilises un truc dans le genre alors

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 24
    Par d�faut
    C'est une solution. L'autre script que j'ai trouv� reviens un peu pr�s au m�me. Mais ( il y a toujours un mais ) �a me fait modifier pas mal de code pour le rendre compatible.

    Je vais qd m�me partir l� dessus au cas o� il n'y aurait pas d'autre solution tout en cherchant autre chose.

    Quelques id�es que j'ai eu mais je sais pas si c'est faisable:
    - Peut etre que je pourrai supprimer mon input de type file au lieu de le r�initialiser apr�s en avoir r�cup�rer la valeur?
    - Sinon, Est-il possible de dupliquer le formulaire sans ce champs?

  18. #18
    Expert confirm�
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par d�faut
    le truc qu il faut que tu comprennes, c est que meme si tu recup�res la valeur de ton champ file, tu ne pourras pas en recr�er un et lui affecter cette valeur, c est impossible pour des raisons de s�curit�.

    Sinon, il suffirais de faire un formulaire avec un champ file masqu� par css pour se servir sur les disques durs des visiteurs .....

    Donc pas possible.

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 24
    Par d�faut
    Bon bah je crois que �a va �tre long et chiant!
    Je me lance pour voir si �a passe bien.

    En tout cas merci de ton aide.

Discussions similaires

  1. R�ponses: 16
    Dernier message: 29/05/2016, 19h45
  2. verification d'un champ de type file d'un formulaire
    Par figatelliSTI dans le forum G�n�ral JavaScript
    R�ponses: 0
    Dernier message: 28/03/2008, 15h18
  3. [Conception] probl�me avec firefox sur les champs input type="file"
    Par maverick56 dans le forum EDI, CMS, Outils, Scripts et API
    R�ponses: 9
    Dernier message: 11/05/2007, 10h57
  4. Ajout dynamique de champs de type file dans un formulaire !
    Par stitch dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 27/11/2005, 11h18
  5. Formulaire, champs de type file, value
    Par Space Cowboy dans le forum Langage
    R�ponses: 1
    Dernier message: 12/09/2005, 08h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo