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

AJAX Discussion :

[AJAX] Ajax fonctionnel sauf sur Wordpress


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2006
    Messages : 216
    Par défaut [AJAX] Ajax fonctionnel sauf sur Wordpress
    Bonjour à tous

    Je me permets de vous poser une question concernant une requête AJAX. Avant de donner le code, quelques éléments pour mieux visualiser ce qui se passe :

    Ici http://www.clementdussarps.fr/ajax/test.html , on peut cocher des cases dans la partie droite. Selon ce que vous cochez ou décochez, vous noterez qu'il y a des éléments indiqués à droite (par exemple "ICI AJAX : Valeur dpt : 94,96,97").
    Ici, j'ai simplement récupéré le code HTML (un copier/coller de la page ! donc exactement le même code) que j'ai ici, fait via Wordpress : http://raudin.u-bordeaux3.fr/index-.php?cat=55

    Hors, sur ce dernier lien (implémenté dans Wordpress donc), cela ne fonctionne pas ! Je ne comprends absolument pas d'où vient le problème.

    Pour en savoir plus, voici la partie HTML du formulaire :

    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
     
    <form name="formulaire" method="post" action="#">
    <table>
            <tbody><tr>
                <td>Action et Interaction</td>
                <td><input name="tri_recherche[]" value="94" onclick="rechAv();" type="checkbox"></td>
            </tr>
     
     
            <tr>
                <td>Atlas Numériques</td>
                <td><input name="tri_recherche[]" value="95" onclick="rechAv();" type="checkbox"></td>
            </tr>
     
            <tr>
                <td>Indicateurs et mesure</td>
                <td><input name="tri_recherche[]" value="96" onclick="rechAv();" type="checkbox"></td>
            </tr>
     
     
            <tr>
                <td>Agriculture et TIC</td>
                <td><input name="tri_recherche[]" value="97" onclick="rechAv();" type="checkbox"></td>
            </tr>
     
            <tr>
                <td>Territoire Numérique et Formation</td>
                <td><input name="tri_recherche[]" value="98" onclick="rechAv();" type="checkbox"></td>
     
            </tr>
    </tbody></table>
    </form>
    L'autre partie HTML où le PHP vient générer les chiffres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ICI AJAX : <div id="resultatrechercheajax">Valeur dpt : 94,96,97</div>
    Et, enfin, le javascript :

    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
    50
    51
    52
    53
    54
     
    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 supporte par le navigateur
           alert("Conflit : navigateur ne supporte pas les objets XMLHTTPRequest");
           xhr = false;
        }
        return xhr;
    }
     
    // Fonction a faire au clic sur les cases a cocher
    function rechAv() {
        var xhr = getXhr();
        // On definit ce qu'on va faire quand on aura la reponse
        xhr.onreadystatechange = function() {
            // On ne fait quelque chose que si on a tout recu et que le serveur est ok
            if(xhr.readyState == 4 && xhr.status == 200) {
                leselect = xhr.responseText;
                // On se sert de innerHTML pour identifier les elements envoyes
                document.getElementById('resultatrechercheajax').innerHTML = leselect;
            }
        }
     
        // POST (envoi des donnees)
        xhr.open("POST","ajax-categorie.php",true);
        xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
     
        // Recuperation valeur checkbox
        var criteres_recherche = new Array();
     
        var nb = formulaire.elements['tri_recherche[]'].length;
        for (i = 0; i < nb; i ++) {
            if (formulaire.elements['tri_recherche[]'][i].checked) {
                sel = formulaire.elements['tri_recherche[]'][i].value;
                criteres_recherche.push(sel);
                //alert(sel);
            }
        }
        //Regroupe les resultats separes par des virgules
        criteres_recherche = criteres_recherche.join(",");
     
        //dpt = sel.options[sel.selectedIndex].value;
        dpt = criteres_recherche;
        xhr.send("valeurs_recherches="+dpt);
    }
    Edit : j'ai oublié le PHP... que je n'ai pas à disposition ici, mais c'est un simple echo de la variable récupérée.

    Si quelqu'un a une idée de pourquoi ça marche d'un côté, et pas de l'autre... je suis preneur de toute suggestion

    Merci d'avance !

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var formulaire = document.formulaire;
    var nb = formulaire.elements['tri_recherche[]'].length;
        for (i = 0; i < nb; i ++) {
            if (formulaire.elements['tri_recherche[]'][i].checked) {
                sel = formulaire.elements['tri_recherche[]'][i].value;
                criteres_recherche.push(sel);
                //alert(sel);
            }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2006
    Messages : 216
    Par défaut
    Bonjour,

    Merci J'ai rajouté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var formulaire = document.formulaire;
    ... mais ça ne change rien

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2006
    Messages : 216
    Par défaut
    Problème résolu...
    Seulement oublié d'indiquer le bon emplacement du fichier dans WP...


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

Discussions similaires

  1. Ajax ne marche pas sur Wordpress
    Par kurosaki91 dans le forum WordPress
    Réponses: 2
    Dernier message: 07/11/2014, 11h59
  2. [AJAX] Ajax ne fonctionne pas sur Wordpress
    Par kurosaki91 dans le forum jQuery
    Réponses: 4
    Dernier message: 08/10/2014, 10h52
  3. [AJAX] Ajax et z-index sur IE7
    Par whitespirit dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/07/2008, 23h11
  4. [AJAX] AJAX: effet de chargement sur formulaires
    Par nabab dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/09/2007, 18h25
  5. [AJAX] Ajax en mode synchrone sur Safari
    Par The Blec dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/02/2006, 17h52

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