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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [AJAX] Probleme d'acces ID liste chainé

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[AJAX] Probleme d'acces ID liste chainé

n°1693222
mims1664
3 / vert
Posté le 27-02-2008 à 08:24:46  profilanswer
 

Bonjour,
 
 
je me lance doucement dans l'ajax, et je commence a prendre consciences de sa puissance, par contre je bloque sur une 3 listes chainées entre elles ...  
 
lorsque ma seconde est remplie l'id du select semble inaccessible, et donc j'ai un probleme d'acces a l'objet de la seconde liste générée par ajax,
 

Code :
  1. sel = document.getElementById('modele');
  2. idmodele = sel.options[sel.selectedIndex].value;


 
la j'ai un message d'erreur sel.options a la valeur nul ou n'est pas un objet,
 
lorsque j'affiche le code source je n'appercois pas la liste générée en ajax ! donc je n'arrive pas a débugger...
 
:evilred:
 
edit :  
voyez vous meme ...
http://www.jantes-alu.com/tst/index.php
 
 
 
 
 
voici mon code :
 
 
Javascript  

Code :
  1. <script type='text/javascript'>
  2.   function getXhr(){
  3.                                 var xhr = null;
  4.    if(window.XMLHttpRequest) // Firefox et autres
  5.       xhr = new XMLHttpRequest();
  6.    else if(window.ActiveXObject){ // Internet Explorer  
  7.       try {
  8.                   xhr = new ActiveXObject("Msxml2.XMLHTTP" );
  9.               } catch (e) {
  10.                   xhr = new ActiveXObject("Microsoft.XMLHTTP" );
  11.               }
  12.    }
  13.    else { // XMLHttpRequest non supporté par le navigateur  
  14.       alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..." );
  15.       xhr = false;
  16.    }
  17.                                 return xhr;
  18.   }
  19.   /**
  20.   * Méthode qui sera appelée sur le click du bouton
  21.   */
  22.   function go(){
  23.    var xhr = getXhr();
  24.    // On défini ce qu'on va faire quand on aura la réponse
  25.    xhr.onreadystatechange = function(){
  26.     // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  27.     if(xhr.readyState == 4 && xhr.status == 200){
  28.      leselect = xhr.responseText;
  29.      // On se sert de innerHTML pour rajouter les options a la liste
  30.      document.getElementById('modele').innerHTML = leselect;
  31.     }
  32.    }
  33.    // Ici on va voir comment faire du post
  34.    xhr.open("POST","scripts/agax_listerecherchemodele.php",true);
  35.    // ne pas oublier ça pour le post
  36.    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  37.    // ne pas oublier de poster les arguments  
  38.    // ici, l'id  
  39.    sel = document.getElementById('marque');
  40.    idmarque = sel.options[sel.selectedIndex].value;
  41.    xhr.send("idMarque="+idmarque);
  42.   }
  43.   function gotst(){
  44.    alert("tst" );
  45.    sel = document.getElementById('modele');
  46.    idmodele = sel.options[sel.selectedIndex].value;
  47.    }
  48.   function go_type(){
  49.    var xhr = getXhr();
  50.    // On défini ce qu'on va faire quand on aura la réponse
  51.    xhr.onreadystatechange = function(){
  52.     // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  53.     if(xhr.readyState == 4 && xhr.status == 200){
  54.      leselect = xhr.responseText;
  55.      // On se sert de innerHTML pour rajouter les options a la liste
  56.      document.getElementById('type').innerHTML = leselect;
  57.     }
  58.    }
  59.    // Ici on va voir comment faire du post
  60.    xhr.open("POST","scripts/agax_listerecherchetype.php",true);
  61.    // ne pas oublier ça pour le post
  62.    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  63.    // ne pas oublier de poster les arguments  
  64.    // ici, l'id  
  65.    sel = document.getElementById('modele');
  66.    idmodele = sel.options[sel.selectedIndex].value;
  67.    xhr.send("idModele="+idmodele);
  68.   }
  69.  </script>


 
Mes listes

Code :
  1. <?
  2.   //$req="select * from voiture_marque where visible = 1 order by id ASC";
  3.   //$req="SELECT DISTINCT MARQUE, ID FROM `database` GROUP BY MARQUE ";
  4.   $req="SELECT DISTINCT MARQUE  FROM `database` WHERE 1";
  5.   $bdd->setQuery($req);
  6.   $rescar = $bdd->executeQuery();
  7.  ?>
  8.         <select name="marque"  title="Constructeurs automobiles" class="rechercheliste"  onchange="go();">
  9.           <option value="-1" selected="selected">Marque</option>
  10.           <?
  11.   for($i=0;$i<sizeof($rescar);$i++){
  12.  if($rescar[$i][0]!="" ){
  13.   ?>
  14.           <option  value="<? echo $rescar[$i][0]; ?>" ><? echo stripslashes(nl2br($rescar[$i][0])); ?></option>
  15.           <?
  16.   }
  17.  } 
  18.   ?>
  19.           </select>
  20.     <div id='modele' style='display:inline'>
  21.       <select name="modele" id="modele" title="Modeles automobiles"  class="rechercheliste">
  22.         <option value='-1'>Modèle</option>
  23.       </select>
  24.       </div>
  25.     <div id='type' style='display:inline'>
  26.       <select name="type" id="type" title="Type automobiles"  class="rechercheliste" >
  27.         <option value='-1'>Type</option>
  28.         </select>
  29.       </div>


 
agax_listerecherchemodele.php

Code :
  1. <?php
  2. include ("../tpl/ho.php" );
  3. //connexion
  4. echo "<select name='modele' id='modele' class='rechercheliste' OnChange='gotst()'>";
  5. if(isset($_POST["idMarque"])){
  6. $idmarque=$_POST["idMarque"];
  7. // $idmarque=6;
  8. //$req="select * from voiture_modele where IDMARQUE = ".$idmarque." and visible = 1 order by id ASC";
  9. $req="SELECT DISTINCT MODELE FROM `database` WHERE MARQUE = '$idmarque' ";
  10. $bdd->setQuery($req);
  11. $res = $bdd->executeQuery();
  12. for($i=0;$i<sizeof($res);$i++){
  13.   echo "<option value='".stripslashes($res[$i][0])."'>".stripslashes($res[$i][0])."</option>";
  14.  }
  15. }else{
  16. echo "<option value='-1'>Modèle</option>";
  17. }
  18.  echo "</select>";
  19. ?>


 
 
agax_listerecherchetype.php
(la requette n'est pas a jour mais de tte facon l'ajax n'ajax pas !)
 

Code :
  1. <?php
  2. include ("../tpl/ho.php" );
  3. if(isset($_POST["idModele"])){
  4. $idmodele=$_POST["idModele"];
  5. // $idmarque=6;
  6. //$req="select * from voiture_modele where IDMARQUE = ".$idmarque." and visible = 1 order by id ASC";
  7. $req="SELECT DISTINCT MODELE FROM `database` ";
  8. $bdd->setQuery($req);
  9. $res = $bdd->executeQuery();
  10. echo "<select name='type' id='type' class='rechercheliste'>";
  11. for($i=0;$i<sizeof($res);$i++){
  12.   echo "<option value='".$res[$i][0]."'>".stripslashes($res[$i][0])."</option>";
  13.  }
  14.  echo "</select>";
  15. }
  16. ?>


 
 
J'ai une erreur sel.option a la valeur null ou n'est pas un objet
et lorsque j'affiche la source forcément ma liste n'apparait pas .... donc je ne peux pas débugger ...


---------------
la vie à le goût qu'on lui donne !! Vive le photo numérique et le tirage photo
mood
Publicité
Posté le 27-02-2008 à 08:24:46  profilanswer
 

n°1693255
anapajari
s/travail/glanding on hfr/gs;
Posté le 27-02-2008 à 09:49:39  profilanswer
 

Tu fais ça:

Code :
  1. sel = document.getElementById('marque');


Pourrais tu nous indiquer où dans ton code, tu as un noeud avec l'id marque stp!


---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1693429
mims1664
3 / vert
Posté le 27-02-2008 à 12:13:18  profilanswer
 

oui excuse moi c'est dans la premiere liste, je n'ai pas mis le code car je n'ai pas jugé important mais il est visible sur  
 
http://www.jantes-alu.com/tst/index.php  


---------------
la vie à le goût qu'on lui donne !! Vive le photo numérique et le tirage photo
n°1693438
anapajari
s/travail/glanding on hfr/gs;
Posté le 27-02-2008 à 12:25:12  profilanswer
 

c'est bien sur cette url que j'ai regardé :o
Donc montre moi le bout de code ou il y a id="marque"...


---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1693472
mims1664
3 / vert
Posté le 27-02-2008 à 13:04:11  profilanswer
 

C'est exacte en faisant des tests j'ai du le virer ...  cependent il etait dans la premiere liste "marque". Bon ca fonctionne sans donc il devait pas etre indispensable ... ?


---------------
la vie à le goût qu'on lui donne !! Vive le photo numérique et le tirage photo
n°1693477
anapajari
s/travail/glanding on hfr/gs;
Posté le 27-02-2008 à 13:18:02  profilanswer
 

mims1664 a écrit :

la j'ai un message d'erreur sel.options a la valeur nul ou n'est pas un objet,


mims1664 a écrit :

Bon ca fonctionne sans donc il devait pas etre indispensable ... ?


:/ :/ :/
 
S'quoi le problème alors?
 


---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1693482
mims1664
3 / vert
Posté le 27-02-2008 à 13:23:26  profilanswer
 

c'est pour récupérer l'ID de la seconde liste pour remplir la 3eme ....


---------------
la vie à le goût qu'on lui donne !! Vive le photo numérique et le tirage photo
n°1693548
anapajari
s/travail/glanding on hfr/gs;
Posté le 27-02-2008 à 14:00:00  profilanswer
 

"chez moi", ça plante à la 1ere liste hein ...  
Impossible d'avoir la 2eme


---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1693678
mims1664
3 / vert
Posté le 27-02-2008 à 15:44:42  profilanswer
 

Je viens de rajouter le ID="marque" dans la premiere liste, essaye voir ...
 
sinon tu as IE ? quel version ?
 
merci

n°1693685
anapajari
s/travail/glanding on hfr/gs;
Posté le 27-02-2008 à 15:57:21  profilanswer
 

mims1664 a écrit :

Je viens de rajouter le ID="marque" dans la premiere liste, essaye voir ...


tout qui marche c'est magic  [:cerveau zeusy]  

mims1664 a écrit :

sinon tu as IE ? quel version ?


Firefox ça s'appele  


---------------
Software and cathedrals are much the same - first we build them, then we pray.
mood
Publicité
Posté le 27-02-2008 à 15:57:21  profilanswer
 

n°1693690
mims1664
3 / vert
Posté le 27-02-2008 à 16:08:24  profilanswer
 

TOUT quand tu dis TOUT c'est juste le second ? ?


---------------
la vie à le goût qu'on lui donne !! Vive le photo numérique et le tirage photo

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

  [AJAX] Probleme d'acces ID liste chainé

 

Sujets relatifs
problème de format sur VBAprobleme XSD - XML schema
petit probleme de compréhensionListe doublement chainée
[RESOLU] problème avec $_SERVER['HTTP_REFERER'] et FlashProblème d'import mysql ?
[réglé] petite problème de codeProblème sur mon site, impossible de télécharger un fichier
problème d'affichage dans un thread différent du mainprobleme input text
Plus de sujets relatifs à : [AJAX] Probleme d'acces ID liste chainé


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