Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1665 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [javascript] Uploader un fichier en javascript

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[javascript] Uploader un fichier en javascript

n°1375697
leguims
Posté le 26-05-2006 à 18:39:15  profilanswer
 

Salut !
 
J'essaie de faire evoluer un site perso.  
Pour ce faire, je tente de lui appliquer AJAX.  
Bon, rien de bien revolutionnaire, mais je bute sur un probleme.  
J'ai des formulaires pour uploader des fichiers  
et je n'arrive pas à m'en sortir avce le javascript.  
Si vous avez une idee, n'hesitez pas.
 
Voici le script Javascript qui me permet de faire de l'AJAX:

Code :
  1. </script>
  2. function submitPost2Form(ID, LINK, DATA)
  3. {
  4.  var http = null;
  5.  if(window.XMLHttpRequest)
  6.   http = new XMLHttpRequest();
  7.  else if (window.ActiveXObject)
  8.   http  = new ActiveXObject(Microsoft.XMLHTTP);
  9.                    
  10.  http.onreadystatechange = function()
  11.  {
  12.   if(http.readyState == 4)
  13.   {
  14.    if(http.status == 200)
  15.    {
  16.                                         document.getElementById(ID).innerHTML = http.responseText;
  17.                                         document.getElementById("erreur" ).innerHTML = "";
  18.                                 }
  19.    else if(http.status == 304)/* "No changes" */
  20.    {
  21.                                         /* Pas d'alerte sur cette erreur frequente */
  22.    }
  23.    else
  24.    {
  25.     document.getElementById("erreur" ).innerHTML = "Error: returned status code " + http.status + " (" + http.statusText + " )";
  26.                                         //alert("Error: returned status code " + http.status + " " + http.statusText);
  27.    }
  28.   }
  29.  };
  30.  document.getElementById("debug" ).innerHTML = "<br/>ID = " + ID
  31.    + "<br/>LINK = " + LINK
  32.    + "<br/>DATA = " + DATA + "<br/>";
  33.  http.open( "POST", LINK, true);
  34. //  http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded" );  
  35.  http.setRequestHeader("Content-Type", "multipart/form-data" );
  36.  http.send(DATA);
  37. }
  38. </script>


 
 
Voici le code HTML qui ne fonctionne pas: :'(

Code :
  1. <form name=form2 method=post action="javascript:submitPost2Form('page_principale', 'test_formulaire_mixte.php', 'commentaire=' + document.form2.commentaire.value + '&MAX_FILE_SIZE=' + document.form2.MAX_FILE_SIZE.value  + '&fichier=' + document.form2.fichier.value )">
  2. <!-- <form name=form2 method=post action="javascript:write_div('page_principale', 'test_formulaire_mixte.php'+ 'commentaire=' + document.form2.commentaire.value + '&MAX_FILE_SIZE=' + document.form2.MAX_FILE_SIZE.value  + '&fichier=' + document.form2.fichier.value )">-->
  3.  <textarea name="commentaire" rows="8" cols="25" maxlength="200">Commentez la partie (200 caracteres max.).</textarea>
  4.  Fichier replay (300ko max) : <input type="hidden" name="MAX_FILE_SIZE" value="5000000"><input type="file" name="fichier" size="40"><br/>
  5.  <br><input type="submit" value="d&eacute;poser le replay">
  6. </form>


 
Merci d'avance.


Message édité par leguims le 26-05-2006 à 22:17:26
mood
Publicité
Posté le 26-05-2006 à 18:39:15  profilanswer
 

n°1379376
leguims
Posté le 01-06-2006 à 23:16:30  profilanswer
 

Moi qui croyais que ce forum etait fréquenté par des caïds ... me voila bien decu. Merci tout de meme aux 33 personnes qui sont venu lire ma question.
 
++G.

n°1379390
energiez
Posté le 01-06-2006 à 23:35:38  profilanswer
 

Ba c'est sur que si tu réagi comme ca, on a pas envie de t'aider!
 
De plus, tu nous dit que tu n'arrive pas a t'en sortir, mais tu nous dit pas l'erreur!!! On n'est pas des dieu, n'y des caïds, seulement des être humains qui répondent quand il on réponse à la question et qu'il on le temps....

n°1379411
leguims
Posté le 02-06-2006 à 00:34:36  profilanswer
 

C'est la deception qui me fait reagir comme ca. En fait, quand je clique sur le bouton (submit), il ne se passe rien. :(
 
En effet, le probleme posé n'est pas trivial pour moi, mais je me disais que c'etait un classique pour les gros utilisateurs.
 
C'est marrant d'avoir une reaction quand on fait de la provoc. Merci de ton attention.
 
++G.

n°1379421
energiez
Posté le 02-06-2006 à 00:54:27  profilanswer
 

J'suis pas un spécialiste de l'AJAX, mais ds le peu que j'ai fait; ma fonction équivalent a submitPost2Form ne prend que 2 arguments chez moi (la page appelé et l'id du conteneur qui recoit la réponse).
 
Sinon, regarde les erreurs javascript y'en a surement (en bas a gauche pour IE, ds outil / console javascript pr FF).
Ds la mesure du possible utilise celle de FF qui ets plus précise.

n°1379427
leguims
Posté le 02-06-2006 à 01:00:19  profilanswer
 

MErci pour le tuyeau de IE et FF. J'utilise Opera, alors peut-etre qu'il n'est pas bavard. A voir.
 
Sinon, j'ai 3 argument car j'utilise la methode POST pour envoyer les donnees. Je dois donc separer l'URL des arguments. LEs donnees sont envoyees dans le corps de la requete HTTP. Enfin, c'est ce que je crois.
 
Enfin, je vais voir si FF ou IE sont plus bavard, ca fera avancer le schmilblock.
 
Merci encore.

n°1379437
dwogsi
Défaillance cérébrale...
Posté le 02-06-2006 à 02:37:34  profilanswer
 

J'ai quand même un doute sur le fait qu'un appel à du js dans le action du formulaire fonctionne...
J'aurais plutôt choisi le bouton avec un onclick="[js]".
non?

n°1379452
energiez
Posté le 02-06-2006 à 07:48:44  profilanswer
 

exact, c pas ds action qui fo le metre!
 
ds onSubmit!

n°1379474
anapajari
s/travail/glanding on hfr/gs;
Posté le 02-06-2006 à 09:15:45  profilanswer
 

tu peux pas "envoyer" un fichier via xmlHttpRequest, tu es obligé de te servir d'un vrai formulaire 'post'é ou 'get'é.
Maintenant tu peux faire autrement et obtenir en gros le même effet
 
Note:dans ta balise form il manque le enctype="multipart/form-data"  

n°1380389
leguims
Posté le 03-06-2006 à 12:13:44  profilanswer
 

anapajari a écrit :

tu peux pas "envoyer" un fichier via xmlHttpRequest, tu es obligé de te servir d'un vrai formulaire 'post'é ou 'get'é.
Maintenant tu peux faire autrement et obtenir en gros le même effet
 
Note:dans ta balise form il manque le enctype="multipart/form-data"


J'aimerai bien savoir faire autrement si c'est pas trop compliqué.
 
La caracteristique enctype="multipart/form-data", je l'avais mise dans la commande "submitPost2Form", à la fin : (http.setRequestHeader("Content-Type", "multipart/form-data" );
 
Merci de votre aide.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [javascript] Uploader un fichier en javascript

 

Sujets relatifs
Lancer execution fichier[DOM/JAVASCRIPT] Inserer un DIV au debut d'un DIV parent.
Comment connaitre le nombre de char dans une fichier texte.txtsupprimer premier et dernier caractère d'un fichier
inserer un fichier txtEnvoyer les données d'une boitre de sélection dans un JavaScript ?
VB6 Creer un fichier TXT sur le disque dur[C] Copier un fichier octet par octet dans un tableau
Automatiser la copie d'un fichier vers un autre fichierQuel type de Fichier pour fichier avec clé(index)
Plus de sujets relatifs à : [javascript] Uploader un fichier en javascript


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR