Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

AJAX=Listes déroulantes créées/rechargées, récupérer valeurs

Aller à la page 1, 2  Suivante
Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
Robinson
WRInaute accro
WRInaute accro

Inscrit le: 26 Oct 2005
Messages: 1395

URL permanente de ce messagePosté le : Dim Juil 29, 2007 22:33    Sujet du message: AJAX=Listes déroulantes créées/rechargées, récupérer valeurs

Bonsoir,

J'ai utilisé Ajax pour me permettre de modifier/générer de nouvelles listes déroulantes en fonction du choix fait dans la première sans recharger la page.

Cependant, lors de l'envoi du formulaire, impossible de récupérer les valeurs des "nouvelles" listes déroulantes.

Au départ, celles-ci n'étaient pas créées donc j'ai pensé que le formulaire ne pouvait envoyer les variables qu'il ne connaissait pas lors de sa création.
Mais ensuite, j'ai créé les formulaires (display:none) mais le problème est identique... (en y réfléchissant, c'est logique vu qu'il n'y a aucune valeur dedans lors de la création du formulaire)

Comment faire pour que les valeurs des nouvelles listes puissent être envoyées ?
 
Robinson
phpmikedu83
WRInaute accro
WRInaute accro

Inscrit le: 06 Aoû 2005
Messages: 1279
Localisation: LE LAVANDOU

URL permanente de ce messagePosté le : Dim Juil 29, 2007 22:34    Sujet du message: AJAX=Listes déroulantes créées/rechargées, récupérer valeurs

Faudrait un peu plus de concret, car c'est pas très clair pour ma part...
 
phpmikedu83 Visiter le site web du posteur
Robinson
WRInaute accro
WRInaute accro

Inscrit le: 26 Oct 2005
Messages: 1395

URL permanente de ce messagePosté le : Dim Juil 29, 2007 22:44    Sujet du message: AJAX=Listes déroulantes créées/rechargées, récupérer valeurs

Ok, c'est parti...

Code Ajax :
Code:
  <script type="text/javascript">
   /**
    * Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest
    */
   function sendData(param, page, form)
   {
      if(document.all)
      {
         //Internet Explorer
         var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
      }//fin if
      else
      {
          //Mozilla
         var XhrObj = new XMLHttpRequest();
      }//fin else

      //définition de l'endroit d'affichage:
      if(form == 0){
         var content = document.getElementById("contenu2");
         content.innerHTML = '';
         content = document.getElementById("contenu");
      }
      else
         var content = document.getElementById("contenu2");
         
      XhrObj.open("POST", page);

      //Ok pour la page cible
      XhrObj.onreadystatechange = function()
      {
         if (XhrObj.readyState == 4 && XhrObj.status == 200)
            content.innerHTML = XhrObj.responseText ;
         
      }

      XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
      XhrObj.send(param);
   }//fin fonction SendData

    </script>


Code HTML/PHP de la page avec les listes déroulantes :
Code:
<table>
<tr>
   <form method='POST' action='validPAYS.php'>
<td>
   
    <select style="width:150px" size="5" name="pays" OnChange="sendData('id='+this.value,'testlire.php',0)" onKeyUp="sendData('id='+this.value,'testlire.php',0)">
   <option selected="selected" value=0>----- Pays -----</option>
<?php
   $i=0;
   while ($dt=mysql_fetch_row($result))
   {
    // Remplir la liste déroulante des catégorie   
   echo "<option value=".($dt[0]).">".($dt[1])."</option>";
    if ($i==0) { $j=$dt[0]; $i=1; } // garder la valeur du premier enregistrement
   }
   
   ?>   
   </select>
</td>
<td id="contenu">
<select size="5" name="depart" style="display:none">
</select>
</td>
<td id="contenu2">
<select size="5" name="villes" style="display:none">
</select>
</td>
</tr>
<tr>
<td><input type="submit" value="Enregistrer">
</td>
</form>
</tr>
</table>


Les listes "depart" et "villes" sont générées via des fichiers php appelés par l'ajax.

Pour la liste "depart", elle est générée avec ce fichier :
Code:
header('Content-type: text') ; // on déclare ce qui va être afficher
 
// test des POST emis
if(isset($_POST['id']) && !empty($_POST['id']) ){

    $id = $_POST['id'];
   
   if ($id == 1) {
      include('connexion.php');

       $rq="Select nom_dp,numero_dp from departement_table order by numero_dp;";
       $result= requete ($rq);
?>
     <select size='5' name='depart' id='depart' OnChange="sendData('id='+this.value,'testlire2.php',1)" onKeyUp="sendData('id='+this.value,'testlire2.php',1)">
<?php

       while ($dt=mysql_fetch_row($result))
       {    
       echo "<option value=".utf8_encode($dt[1]).">".utf8_encode($dt[1])." - ".utf8_encode($dt[0])."</option><br>";
       if ($i==0) { $k=$dt[1]; $i=1; } // garder la valeur du premier enregistrement
       }   
      echo "</select>";
   
   }
}

Tout fonctionne bien sauf la transmission (vers validPAYS.php) des valeurs des deux "nouvelles" listes.
 
Robinson
phpmikedu83
WRInaute accro
WRInaute accro

Inscrit le: 06 Aoû 2005
Messages: 1279
Localisation: LE LAVANDOU

URL permanente de ce messagePosté le : Dim Juil 29, 2007 22:52    Sujet du message: AJAX=Listes déroulantes créées/rechargées, récupérer valeurs

je connais pas: Content-type: text
mais plutôt: Content-type: text/plain

Je pense pas que ton problème vienne de là, mais déjà à débugger quand on le code soit même l'AJAX, c'est costaud, alors le script d'un autre...

Je pense que si tu utilises Firefox, tu devrais télécharger l'extension firebug, elle te sera certainement très utile pour que tu puisses observer ce qui ce passe entre ta page et ton serveur... Wink
 
phpmikedu83 Visiter le site web du posteur
Robinson
WRInaute accro
WRInaute accro

Inscrit le: 26 Oct 2005
Messages: 1395

URL permanente de ce messagePosté le : Dim Juil 29, 2007 23:11    Sujet du message: AJAX=Listes déroulantes créées/rechargées, récupérer valeurs

Content-type: text fonctionne tout comme text/plain.

Le problème vient du fait que les nouvelles listes créées ne sont pas prises en compte dans le formulaire.

Il doit y avoir une action à réaliser pour les associer au formulaire je pense...


Edit : erreur de ma part, le Content-type: text est bien différent, c'est du texte à l'état brut. Avec /plain, tous les caractères éèàî...etc sont modifiés .
 
Robinson
phpmikedu83
WRInaute accro
WRInaute accro

Inscrit le: 06 Aoû 2005
Messages: 1279
Localisation: LE LAVANDOU

URL permanente de ce messagePosté le : Dim Juil 29, 2007 23:40    Sujet du message: AJAX=Listes déroulantes créées/rechargées, récupérer valeurs

Ouai, je comprends pas...

Regardes, sur cette page, les liens "voter", c'est le même principe, codé à peu près pareil... il doit y avoir une couille dans le potage:

http://blog.net-cup.fr/classement-blogs-p0.html

T'es sûr que t'aurais pas des guillemets qui peuvent tout faire foirer??? T'as pas d'erreur javascript dans la console??? t'as regardé l'extension firebug???
 
phpmikedu83 Visiter le site web du posteur
Marie-Aude
WRInaute accro
WRInaute accro

Inscrit le: 05 Juin 2006
Messages: 3384
Localisation: More than a plastic girl

URL permanente de ce messagePosté le : Dim Juil 29, 2007 23:44    Sujet du message: AJAX=Listes déroulantes créées/rechargées, récupérer valeurs

Culinairement parlant, il y a des pays où la couille dans le potage est très appréciée... désolée, j'ai pas pu résister, etn en plus je peux pas aider Smile
 
Marie-Aude Visiter le site web du posteur
phpmikedu83
WRInaute accro
WRInaute accro

Inscrit le: 06 Aoû 2005
Messages: 1279
Localisation: LE LAVANDOU

URL permanente de ce messagePosté le : Dim Juil 29, 2007 23:51    Sujet du message: AJAX=Listes déroulantes créées/rechargées, récupérer valeurs

Marie-Aude a écrit:
Culinairement parlant, il y a des pays où la couille dans le potage est très appréciée... désolée, j'ai pas pu résister, etn en plus je peux pas aider Smile


ça fera certainement plaisir à l'auteur du topic, quand on patauge dans la semoule (celle-là devrait te plaire aussi lol), c'est bin aussi de se détendre l'esprit! Laughing
 
phpmikedu83 Visiter le site web du posteur
Robinson
WRInaute accro
WRInaute accro

Inscrit le: 26 Oct 2005
Messages: 1395

URL permanente de ce messagePosté le : Dim Juil 29, 2007 23:52    Sujet du message: AJAX=Listes déroulantes créées/rechargées, récupérer valeurs

phpmikedu83 a écrit:
Ouai, je comprends pas...

Regardes, sur cette page, les liens "voter", c'est le même principe, codé à peu près pareil... il doit y avoir une couille dans le potage:

http://blog.net-cup.fr/classement-blogs-p0.html

T'es sûr que t'aurais pas des guillemets qui peuvent tout faire foirer??? T'as pas d'erreur javascript dans la console??? t'as regardé l'extension firebug???

Je ne vois pas trop le rapport avec mon script...

Il n'y a aucune erreur javascript.
Non je n'ai as encore utilisé firebug mais je ne pense pas qu'il me soit utile.
 
Robinson
phpmikedu83
WRInaute accro
WRInaute accro

Inscrit le: 06 Aoû 2005
Messages: 1279
Localisation: LE LAVANDOU

URL permanente de ce messagePosté le : Dim Juil 29, 2007 23:56    Sujet du message: AJAX=Listes déroulantes créées/rechargées, récupérer valeurs

Robinson a écrit:
phpmikedu83 a écrit:
Ouai, je comprends pas...

Regardes, sur cette page, les liens "voter", c'est le même principe, codé à peu près pareil... il doit y avoir une couille dans le potage:

http://blog.net-cup.fr/classement-blogs-p0.html

T'es sûr que t'aurais pas des guillemets qui peuvent tout faire foirer??? T'as pas d'erreur javascript dans la console??? t'as regardé l'extension firebug???

Je ne vois pas trop le rapport avec mon script...

Il n'y a aucune erreur javascript.
Non je n'ai as encore utilisé firebug mais je ne pense pas qu'il me soit utile.


ben comme je l'ai dit, le lien "voter" c'est de l'ajax... suffit de regarder la source pour s'en rendre compte... ça ressemble beaucoup à ce que tu as fais, donc, je vois pas ce qui peut ne pas aller!
Après, moi au départ, je veux bien t'aider, mais si toi tu veux pas, ben moi, j'ai pas de problème de script, tu vois Wink
Je me verrais par contre mal coder de l'Ajax sans firebug, comme les maçons monter des maisons sans truelle, mais ça c'est un choix!

edit: le site, je l'ai pas pris au hasard, c'est un des miens, donc je sais comment il est codé côté client, et surtout, côté serveur.
 
phpmikedu83 Visiter le site web du posteur
Robinson
WRInaute accro
WRInaute accro

Inscrit le: 26 Oct 2005
Messages: 1395

URL permanente de ce messagePosté le : Lun Juil 30, 2007 0:18    Sujet du message: AJAX=Listes déroulantes créées/rechargées, récupérer valeurs

Je viens d'installer firebug mais ne trouve strictement aucun problème...
 
Robinson
phpmikedu83
WRInaute accro
WRInaute accro

Inscrit le: 06 Aoû 2005
Messages: 1279
Localisation: LE LAVANDOU

URL permanente de ce messagePosté le : Lun Juil 30, 2007 0:21    Sujet du message: AJAX=Listes déroulantes créées/rechargées, récupérer valeurs

Robinson a écrit:
Je viens d'installer firebug mais ne trouve strictement aucun problème...


Ok, s'il n'ya pas de problème, c'est qu'à priori, il n'y a pas d'erreur javscript, mais ça on le savait déjà... Par contre, tu as la vision du html que tu as généré à l'aide de ton Ajax, ça tu l'as pas dans la source de ta page, et je pense que ça devrait te donner beaucoup de renseignements!
(L'onglet HTML dans firebug)

ps:en plus, ça doit être pas grand chose lol
 
phpmikedu83 Visiter le site web du posteur
Robinson
WRInaute accro
WRInaute accro

Inscrit le: 26 Oct 2005
Messages: 1395

URL permanente de ce messagePosté le : Lun Juil 30, 2007 0:38    Sujet du message: AJAX=Listes déroulantes créées/rechargées, récupérer valeurs

Oui j'ai vu ça mais comme prévu, pas de problèmes Sad (visibles)
 
Robinson
Robinson
WRInaute accro
WRInaute accro

Inscrit le: 26 Oct 2005
Messages: 1395

URL permanente de ce messagePosté le : Lun Juil 30, 2007 0:48    Sujet du message: AJAX=Listes déroulantes créées/rechargées, récupérer valeurs

arrrrrghhhh, j'ai trouvé...

le formulaire... il ne voulait pas qu'il soit intégré à la table...
En mettant le tableau complètement à l'intérieur du form, ça marche.
 
Robinson
Marie-Aude
WRInaute accro
WRInaute accro

Inscrit le: 05 Juin 2006
Messages: 3384
Localisation: More than a plastic girl

URL permanente de ce messagePosté le : Lun Juil 30, 2007 2:17    Sujet du message: AJAX=Listes déroulantes créées/rechargées, récupérer valeurs

phpmikedu83 a écrit:
Marie-Aude a écrit:
Culinairement parlant, il y a des pays où la couille dans le potage est très appréciée... désolée, j'ai pas pu résister, etn en plus je peux pas aider Smile


ça fera certainement plaisir à l'auteur du topic, quand on patauge dans la semoule (celle-là devrait te plaire aussi lol), c'est bin aussi de se détendre l'esprit! Laughing


Oui et puis en plus la couille dans le potage, ça se mange aussi en couscous Smile

Bon c'était juste histoire de vous dire que vous étiez pas tout seuls à 2 heures du mat Wink
 
Marie-Aude Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 2 - Aller à la page 1, 2  Suivante
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort