Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de boucle en ajax

    24 février 2009 à 21:33:02

    Bonjour,
    Tout d'abord, je vais vous expliquer ce que je souhaite faire, ce sera plus simple à comprendre.
    Je prends une rencontre sportive équipe_A contre équipe_B. J'ai une 1ere liste déroulante ou je choisis victoire_A ou victoire_B.
    Suivant le résultat de cette première liste, j'ouvre une seconde liste ou j'ai le score à entrer. 3/0, 3/1 ou 3/2 si victoire_A choisie précédemment, 0/3, 1/3 ou 2/3 si victoire_B choisie précédement. Jusque là, tout est simple et ça fonctionne.

    Seulement, il y a 7 matchs dans une journée, donc 7 fois la 1ere liste déroulante (équipe_C contre équipe_D, équipe_E contre équipe_F....) et je dois avoir LA MÊME seconde liste déroulante attachée à chaque match.
    Et c'est là que ça coince. Ma seconde liste ne s'affiche que sur la ligne du 1er match. Je pense que vous aurez compris le fonctionnement.

    Voici ma partie javascript
    function getXhr(){
    var xhr = null; 
    if(window.XMLHttpRequest) // Firefox et autres
    xhr = new XMLHttpRequest(); 
    else if(window.ActiveXObject){ // Internet Explorer 
    try {
    xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
    else {
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    xhr = false; 
    }
    return xhr;
    }
    
    function go_prono(){
    var xhr = getXhr();
    xhr.onreadystatechange = function(){
    if(xhr.readyState == 4 && xhr.status == 200){
    leselect = xhr.responseText;
    document.getElementById('liste').innerHTML = leselect;
    }
    }
    xhr.open("POST","scores.php",true);
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    sel = document.getElementById('prono');
    choix = sel.options[sel.selectedIndex].value;
    xhr.send("prono="+choix);
    


    et voici la partie PHP

    $i='1';
    while($row = mysql_fetch_row($result))
    {
    echo "<tr><td>".$row['1']."</td><td>".$row['2']."</td><td><select name='prono".$i."' id='prono".$i."' onchange='go_prono(this.id, liste".$i.")'><option value=''></option><option value='V".$row['1']."'>Victoire ".$row['1']."</option><option value='V".$row['2']."'>Victoire ".$row['2']."</option></select></td><td><div id='liste".$i."' style='display:inline'></div></td></tr>";
    $i=$i+1;
    }
    


    Comme on peut le voir, j'ai plusieurs select name et ID différents, onchange='go_prono... différents aussi. Si je fais afficher la source, tous les ID et name de mes select sont différents.
    Seulement, j'ai une seule fonction go_prono, et c'est la que je coince. En clair, comment ouvrir la seconde liste à côé de chacune de mes 7 premières listes...
    Plus loin dans ce forum, j'avais vu un problème ressemblant mais pas vraiment de solution...
    Si quelqu'un pouvait m'aider....
    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      25 février 2009 à 17:15:13

      Je comprends pas bien... Tu passes deux paramètres à ta fonction go_prono() et tu ne les utilises pas... ???
      • Partager sur Facebook
      • Partager sur Twitter

      Problème de boucle en ajax

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown