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
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
Fais le en PHP, c'est tellement plus simple...
voir http://fr3.php.net/manual/fr/reserved.variables.php au paragraphe $_FILES
Guy777
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.Envoyé par guy777
Si quelqu'un à la solution se serait merveilleux.
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.
Guy777
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
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:
Enfin... un petit peu de CSS fera l'affaire pour rendre ton iframe "invisible".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <script language='javascript' type='text/javascript'> parent.fonctionCallBack(); </script>
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
Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !
Ca a bien l'air d'etre ce qu il me fallait.Envoyé par marcha
Merci à toi, je fait le test et vous tien au courant
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.
@+
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.
Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager