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 :

[AJAX] Ajax avec input type file


Sujet :

JavaScript

  1. #1
    Membre habitu�
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11
    Par d�faut [AJAX] Ajax avec input type file
    Bonjour � tous,

    J'essai actuelement d'uploader un fichier en passant un formulaire � une autre page grace � XMLHttpRequest mais aparement ce n'est pas possible.Est ce que quelqu'un aurait une solution ?

    Merci pour eventuelles suggestions

  2. #2
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Avril 2006
    Messages
    245
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Avril 2006
    Messages : 245
    Par d�faut
    Fais le en PHP, c'est tellement plus simple...
    voir http://fr3.php.net/manual/fr/reserved.variables.php au paragraphe $_FILES

  3. #3
    Membre habitu�
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11
    Par d�faut
    Citation Envoy� par guy777
    Fais le en PHP, c'est tellement plus simple...
    voir http://fr3.php.net/manual/fr/reserved.variables.php au paragraphe $_FILES
    Merci � toi mais je le fais d'habitude en php mais la jai besoin que seul la div dans lequel se trouve le formulaire se rafraichisse et non la page entiere.
    Si quelqu'un � la solution se serait merveilleux.

  4. #4
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Avril 2006
    Messages
    245
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Avril 2006
    Messages : 245
    Par d�faut
    Apr�s quelques recherches sur Internet ,il semble qu'un Upload en javascript SEUL soit impossible. Toutes les solutions que j'ai trouv�es font intervenir soit PHP, soit une applet Java, et autres langages. Si quelqu'un a effectivement la solution, je suis aussi preneur.

  5. #5
    Membre habitu�
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11
    Par d�faut
    Bonjour tout le monde,

    Aparement mon post n a pas fait fureur ou peut etre que je me suis mal exprim� par rapport � mon probl�me.

    J imagine que beaucoup parmis vous utilisent Ajax pour valid� des formulaires sans que la page ne soit integralement relanc�e par le naviguateur.
    Je n avais jamais rencontr� de probl�me avec cette methode jusqu au jour ou j ai voulu permettre a l utilisateur de pouvoir uploader un fichier image a partir d un formulaire.
    Ma page php ou se trouve le formulaire utilise donc du type file dans son formulaire et lorsque celui ci est valid� par l utilisateur, une fonction javascript est solicit� pour execut� une autre page php qui recupere les informations du formulaire et execute une requette sql pour valid� lenregistrement dans une table.
    Le probleme est que ce proc�d� Ajax n est fait que pour recuperer du texte et n a certainement pas le droit d acceder au disque dur pour recuperer le fichier en question.
    J ai pas mal cherch� sur les differents forums et les quelques exemples que j ai pu trouv� n etait pas tres explicite.

    Si quelqu'un a une id�e......

    Merci beaucoup

  6. #6
    R�dacteur
    Avatar de marcha
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    D�cembre 2003
    Messages
    1 571
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 571
    Par d�faut
    Salut,

    En Ajax, l'upload de fichier ce fait (sans ajax) :-)

    Tu dois utiliser un post de formulaire classique pour envoyer un fichier.
    Par contre, l'astuce r�side dans l'attribut target de ta balise form.

    Pour �viter de rafraichir ta page enti�re, tu cr�e un iframe par exemple:

    <iframe name='cible'></iframe>

    Ensuite tu modifies ta balise form ainsi

    <form target='cible' ...>

    Ainsi, c'est un post tout a fait standard qui est fait, mais le r�sultat et
    affich� dans l'iframe. Ce que tu vas retourner dans le code de l'iframe,
    c'est un script javascript qui va appeler la fonction callback de ta page
    principale, ainsi:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    <script language='javascript' type='text/javascript'>
    parent.fonctionCallBack();
    </script>
    Enfin... un petit peu de CSS fera l'affaire pour rendre ton iframe "invisible".
    pour des raison de compatibilit�, il est pr�f�rable de ne pas utiliser
    display: none, ni visibility: hidden. (il faut faire un width: 1px; height: 1px;
    overflow: hidden; border: 1px solid white c'est plus safe

  7. #7
    Membre habitu�
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11
    Par d�faut
    Citation Envoy� par marcha
    Salut,

    En Ajax, l'upload de fichier ce fait (sans ajax) :-)

    Tu dois utiliser un post de formulaire classique pour envoyer un fichier.
    Par contre, l'astuce r�side dans l'attribut target de ta balise form.

    Pour �viter de rafraichir ta page enti�re, tu cr�e un iframe par exemple:

    <iframe name='cible'></iframe>

    Ensuite tu modifies ta balise form ainsi

    <form target='cible' ...>

    Ainsi, c'est un post tout a fait standard qui est fait, mais le r�sultat et
    affich� dans l'iframe. Ce que tu vas retourner dans le code de l'iframe,
    c'est un script javascript qui va appeler la fonction callback de ta page
    principale, ainsi:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    <script language='javascript' type='text/javascript'>
    parent.fonctionCallBack();
    </script>
    Enfin... un petit peu de CSS fera l'affaire pour rendre ton iframe "invisible".
    pour des raison de compatibilit�, il est pr�f�rable de ne pas utiliser
    display: none, ni visibility: hidden. (il faut faire un width: 1px; height: 1px;
    overflow: hidden; border: 1px solid white c'est plus safe
    Ca a bien l'air d'etre ce qu il me fallait.
    Merci � toi, je fait le test et vous tien au courant

  8. #8
    Membre habitu�
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11
    D�tails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11
    Par d�faut
    Merci a toi ca resoud mon prrobl�me et c'est simple

    Juste un truc � voir par rapport � la fonction parent.callback car je vois pas trop � quoi elle sert pour le moment.

    @+

  9. #9
    R�dacteur
    Avatar de marcha
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    D�cembre 2003
    Messages
    1 571
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 571
    Par d�faut
    La fonction callback est utile si tu dois faire qqch suite � l'upload,
    par exemple, cr�er dynamiquement une balise img qui affiche l'image
    que tu viens d'uploader.

    Ou alors tu peux appeler une autre fonction en cas de probl�me.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Validation formulaire ajax avec input type file
    Par lolodev dans le forum jQuery
    R�ponses: 0
    Dernier message: 08/12/2011, 19h28
  2. probleme avec <input type="file">
    Par slash_X dans le forum Struts 1
    R�ponses: 1
    Dernier message: 21/04/2010, 17h25
  3. R�cup�rer le chemin complet avec <input type="file">
    Par dariyoosh dans le forum Struts 1
    R�ponses: 2
    Dernier message: 24/04/2009, 17h49
  4. formulaire avec input type="file"
    Par Naksh-i dans le forum Servlets/JSP
    R�ponses: 2
    Dernier message: 24/10/2006, 08h51
  5. aper�u d image avec input type file marche pas dans ffx
    Par siddh dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 09/11/2005, 09h11

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