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] Ajax en retour undefined


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Points : 102
    Points
    102
    Par défaut [AJAX] Ajax en retour undefined
    mon probleme est simplement ca fait pas ce que je veut

    ce que je souhaite est simple deux liste deroulante liée

    une Serivice et une Utilisateur lié à service, donc quand je choisi un service je n'ai plus que les utilisateur du service afficher

    mon probleme c'est que lorsque je choisi un service j'ai "undefined" à la place de ma liste deroulante

    voila mon soucis

    et pour information mon code :

    la fonction appeler suite au changement de la liste Service
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function onChnageDelService(){ 
    getXhr(); 
    xhr.onreadystatecahnge=function(){ 
    if(xhr.readystate==4 && xhr.status ==200){leselect=xhr.reponseText; 
    document.getElementById('delUser').innerHTML=leselect;}}xhr.open("post","ajaxForDelUtilisateur.php",true); 
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
    sel=document.getElementById('delServ'); 
    idService=document.getElementById('delServ').value;
    xhr.send("ideService="+idService); 
    }
    le code php appeler par le open de AJax
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    echo "<select name='delUser'>";
    if(isSet($_POST["idService"])){
    $idService = $_POST['idService'];
    if($idService !=""){
    /*apel de ma requete pour avoir les user du service
    }else{/* tout les users du service*/
    }
    echo dataSelect($requete); // affiche toutes les element de ma requete dans entre balise option
    }
    else
    echo "<option>probleme</option>";
    ?>
    et les code php de mes select de base:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <select name='delServ' id='delServ' onChange='onChangeDelService()'> 
    <option value="-1" selected>---------------</option> 
    <?php echo dataSelect($requestService,"Service");?> 
    //rempli les option de la select marche bien car je visualise les otions 
    </select>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div id='delUser' style='display:inline'> 
    <?php echo dataSelect($requestUtilisateur,"Utilisateur");?> 
    </select> 
    </div>

    et apres selection du servi ce j'obtien undefined au niveau de la liste Utilisateur ?????

    aussi comment faire pour voir ce qu'il se passe au niveau du fichier appel par le open pour faire du debug?

    merci pour l'aide et le temps accorder a mon soucis

  2. #2
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut
    Premièrement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var listeServices = idService=document.getElementById('delServ');
    var idService = listeServices.options[listeServices.selectedIndex].value;

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Points : 102
    Points
    102
    Par défaut
    merci

    j'avai essayer comme ca mai javai une erreur si tu sais pourquoi

    http://www.developpez.net/forums/viewtopic.php?t=482367

    mon probleme reste le meme o final

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    quel bordel!

    il va falloir que tu te mettes à coder en sachant ce que tu fais et en travaillant la lisibilité du code; franchement, ça demande des efforts de décryptage qui n'ont rien de réjouissant avant de comprendre un peu ce que tu fais et ce que tu demandes;


    suggestions:
    - utilise de préférence l'événement onreadystatechange à la place de onreadystatecahnge;
    - n'écris pas ce genre de lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('delUser').innerHTML=leselect;}}xhr.open
    si c'est juste que le post n'a pas gardé ta mise en forme d'origine, édite-le après avoir vu le résultat pour corriger la mise en page;
    - écris du html propre! c'est la moindre des choses, étant donné que tu ajoutes une couche de php par dessus... comment peux-tu t'y retrouver avec ces balises ouvertes et jamais fermées, fermées sans avoir été ouvertes...
    - je doute que innerHTML soit la solution la plus fiable pour générer et garnir un select :
    - apprends à débugger tes scripts (repérer les messages d'erreur, les lignes concernées...);

  5. #5
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut
    - je doute que innerHTML soit la solution la plus fiable pour générer et garnir un select
    Effectivement, la meilleure méthode reste de jouer avec les méthodes javascript est des objets DOM comme :
    monSelect.options
    document.createElement("option")
    etc...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Points : 102
    Points
    102
    Par défaut
    dsl pour la presentation c du recopier dans ancien poste

    et je suis obliger de tt retaper a chaque fois donc pa facile je pe pas faire copier coller de mon code directement

    sinon pr le readyState je vai verifier la faute de frappe

    a par ca a par le inner je voi pa trop comment faire j'ai trouver que ca sur internet pour l'instant si ta une idée je suis preneur

    sinon pour le debug je sais pour le code et lire trouver la ligne mais comment faire pour lire le code qui est appeler par AJAX meme methode ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Points : 102
    Points
    102
    Par défaut
    et bien sur un grd merci a vous

    et si l'erreur c'est la faute de frappe la rage une aprem dessus just pour ca com quoi faut prendre du recul

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Points : 102
    Points
    102
    Par défaut
    le probleme etai "reponseText" au lieu de "responseText"

    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête Ajax et retour undefined
    Par DiverSIG dans le forum jQuery
    Réponses: 5
    Dernier message: 23/05/2017, 15h48
  2. Réponses: 5
    Dernier message: 14/03/2011, 14h04
  3. [AJAX] Ajax passe sous IE, "undefined" sous Firefox
    Par franklin626 dans le forum AJAX
    Réponses: 22
    Dernier message: 04/08/2010, 11h08
  4. [MooTools] Ajax variable de retour mootools 1.1
    Par gaillardoo dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 11/06/2009, 09h47

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