IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] [2 menu déroulant] 1 seul fonctionne


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 64
    Par défaut [AJAX] [2 menu déroulant] 1 seul fonctionne
    Bonjour,

    J'ai 3 menu déroulant, l'un appel une page php pour implémenter le deuxième grâce à ajax, là pas de problème.
    Mais je voudrai que lorsque l'on choisi une valeur dans le deuxième le deuxième cela implémente le troisième, et là c'est le drame!!
    Ça ne fonctionne pas!

    voila la function bien connue d'ajax:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    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 { // XMLHttpRequest non supporté par le navigateur 
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    xhr = false; 
    } 
    return xhr;
    }
     
    /**
    * Méthode qui sera appelée sur le click du bouton
    */
    function go(from, to){
    var xhr = getXhr();				
    xhr.onreadystatechange = function(){
    if(xhr.readyState == 4 && xhr.status == 200)
    {leselect = xhr.responseText;
    document.getElementById(to).innerHTML = leselect;}
    }
    xhr.open("POST","ajaxOu.php",true);
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    sel = document.getElementById(from);
    idou = sel.options[sel.selectedIndex].value;
    xhr.send("idOu="+idou);
    }
    Celle là est appellé par le deuxième menu déroulant pour le troisième.

    Voila, si quelqu'un peut m'aider, merci d'avance.
    Arbisis.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 64
    Par défaut
    En fait après plusieurs essais, je trouves toujours la même erreur dans la console js de ff:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    						document.loca.truc.innerHTML = leselect;
    Où 'truc' est supposé être le troisième id menu déroulant. Je ne comprend pas pourquoi ça marche pas.

    Pour être complet, le deuxième menu est implémenté, a partir d'une autre page php que pour le troisième (ajaxOu.php).

    Si quelqu'un voit un truc, ne pas hésiter.
    Merci d'avance.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 64
    Par défaut
    Désolé,

    le message de la console est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    document.loca.truc.innerHTML = leselect;
    has no properties

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 64
    Par défaut
    J'ai réussi à le faire fonctionner en changeant un peut le code de la deuxième function:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    idou = document.Formname.Selectname.value;
    à la place de :
    idou = sel.options[sel.selectedIndex].value;
    Mais malheureusement il y a encore un petit problème, ça fonctionne très bien avec ie, mais avec ff si je rechange d'option le 2eme menu alors là le 3eme ne s'implement plus.
    pfffff

    Je ne sais quoi faire!!
    Help!

Discussions similaires

  1. Menu déroulant vertical ne fonctionne pas
    Par cuddy dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 11/10/2012, 19h55
  2. [AJAX] [XMLHttp][IE]Fonction qui ne fonctionne qu'une seule fois
    Par narnou dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 13/07/2007, 11h16
  3. [AJAX] Génération de menu déroulant contenant une tableau php
    Par emageren dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/04/2007, 11h46
  4. [AJAX] Menu déroulant dynamique pour parcourir une BD
    Par relena dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 25/03/2007, 17h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo