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]Listes liées multiples


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 31
    Par défaut [AJAX]Listes liées multiples
    Bonjour,


    Je débute dans l'Ajax et je dois lier 6 listes entre elles grace à une base de données
    Je me suis donc inspiré de l'exemple dans le tutoriel
    Le problème est que je dois modifier dynamiquement les 5 autres listes quand le contenu d'1 est changée
    J'ai donc 5 appels à des fonctions de ce type: (avec à chaques fois le fichier de destination modifié).

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    function maj_activite(){
     
    				getXhr();
     
    				xhr.onreadystatechange = function(){
     
    					if(xhr.readyState == 4 && xhr.status == 200){
     
    						leselect = xhr.responseText;
     
    						document.getElementById('divactivite').innerHTML = leselect;
    					}
    				}
     
     
    				xhr.open("POST","ajaxactivite.php",true);
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
     
     
    				// ici, l'id de l'activite
           	                        sel1 = document.getElementById('activite');
    				idactivite = sel1.options[sel1.selectedIndex].value;
     
    				// ici, l'id de la production
           	       	       	       	sel2 = document.getElementById('production');
    				idproduction = sel2.options[sel2.selectedIndex].value;
     
    // ici, l'id du produit
    	       	       		sel3 = document.getElementById('produit');
    				idproduit = sel3.options[sel3.selectedIndex].value;
     
    // ici, l'id du continent d'export
                 	       	 	sel4 = document.getElementById('exportcontinent');
    				idexportcontinent = sel4.options[sel4.selectedIndex].value;
     
    // ici, l'id du pays d'export
           	       	       	       	sel5 = document.getElementById('exportpays');
    				idexportpays = sel5.options[sel5.selectedIndex].value;
     
    // ici, l'id du continent d'import
                 	       	 	sel6 = document.getElementById('importcontinent');
    				idimportcontinent = sel6.options[sel6.selectedIndex].value;
     
    // ici, l'id du pays d'import
           	       	       	       	sel7 = document.getElementById('importpays');
    				idimportpays = sel7.options[sel7.selectedIndex].value;
    				// envoi des 7 arguments
    		xhr.send("idactivite="+idactivite+"&idproduction="+idproduction+"&idproduit="+idproduit+"&idexportcontinent="+idexportcontinent+"&idexportpays="+idexportpays+"&idimportcontinent="+idimportcontinent+"&idimportpays="+idimportpays);
    			}
    Mais dans le fichier ajaxactivite.php je ne récupére rien dans les variables (par exemple isset($_POST["idproduction"]) est toujours à false).
    Là ou je ne comprend plus grand chose est que si je ne fais appel qu'à une fonction de ce genre ça fonctionne parfaitement...

    A noter que l'appel aux 5 fonctions se fait de cette manière et que j'ai un OnChange = 'activite_changee()' dans la balise select

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function activite_changee(){
          maj_production();
          maj_produit();
          maj_export_continent();
          maj_export_pays();
          maj_import_continent();
          maj_import_pays();
        }
    et donc si je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     function activite_changee(){
            maj_production();
          }
    ca fonctionne....

    J'espère avoir été clair...

    Merci d'avance!

  2. #2
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "abc=" + escape(abc) + "&xyz=" + escape(xyz)

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 31
    Par défaut
    Merci de t'intéresser à mon problème FremyCompany !
    j'ai modifié ce que j'envoyais par le xhr.send()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr.send("idactivite=" + escape(idactivite) + "&idproduction=" + escape(idproduction) + "&idproduit=" + escape(idproduit) + "&idexportcontinent=" + escape(idexportcontinent) + "&idexportpays=" + escape(idexportpays) + "&idimportcontinent=" + escape(idimportcontinent) + "&idimportpays=" + escape(idimportpays))
    mais je ne récupére toujours rien dans le fichier de destination si je le fais pour toutes les listes à mettre à jour

  4. #4
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    je me demandais aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
           	                        var sel1 = document.getElementById('activite');
    				var idactivite = sel1.options[sel1.selectedIndex].value;

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 31
    Par défaut
    J'ai essayé aussi mais ca veut toujours pas
    Le problème c'est que si je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert("idactivite=" + escape(idactivite) + "&idproduction=" + escape(idproduction) + "&idproduit=" + escape(idproduit) + "&idexportcontinent=" + escape(idexportcontinent) + "&idexportpays=" + escape(idexportpays) + "&idimportcontinent=" + escape(idimportcontinent) + "&idimportpays=" + escape(idimportpays)
    Il m'affiche les paramètres avec les bonnes valeurs donc je pense que c'est pendant l'envoi des paramètre qu'il y a un truc bizarre...mais je suis vraiment perdu la! Théoriquement on peut bien faire appel plusieurs fois à ce type de fonction? Il n'y a pas de problème lors de l'appel à plusieurs getXhr() ou quelque chose comme ca?

  6. #6
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    essai un peu de réinitialiser ton XHR au début de ta fonction...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var xhr= FunctionQuiRenvoieUnXmlHttpRequest()

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

Discussions similaires

  1. [AJAX] Liste liées et boutons radio
    Par neg12 dans le forum AJAX
    Réponses: 10
    Dernier message: 20/10/2011, 14h47
  2. Réponses: 1
    Dernier message: 29/05/2010, 18h22
  3. [AJAX] Listes liées multiples
    Par hajjejala dans le forum AJAX
    Réponses: 4
    Dernier message: 28/05/2010, 12h54
  4. [AJAX] Ajax listes liées avec modules Joomla
    Par dualweil dans le forum AJAX
    Réponses: 0
    Dernier message: 07/04/2010, 06h18
  5. [PHP-JS] Listes liées multiple en PHP
    Par drakenzara dans le forum Langage
    Réponses: 5
    Dernier message: 05/01/2007, 09h12

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