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

Langage PHP Discussion :

[AJAX] Pas moyen d'arriver à utiliser cette technologie


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 57
    Par défaut [AJAX] Pas moyen d'arriver à utiliser cette technologie
    Bonjour à tous et toutes ... Et oui, j'aimerais utiliser cette méthode pour arriver à faire ceci :

    Sur ma page, j'ai un champ texte qui permet à l'utilisateur d'encoder un code postal.
    Sur base de ce code postal entré, j'aimerais remplir une liste avec les localités correspondante (qui se trouvent sur ma base de données).

    J'ai repris l'exemple trouvé sur les tutos d'ici ... Et l'ai adapté ...

    Mais cela ne fonctionne pas ... J'ai l'impression qu'il n'ouvre pas le fichier PHP que j'appelle et donc, n'ai aucune réponse.

    Voila mon code :

    Le JScript en lui-même
    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
     
    <script language="javascript">
      function request()
      {
        var xhr=null;
        if (window.XMLHttpRequest) // Pour Firefox
        {
          xhr = new XMLHttpRequest();
        } 
        else //IE
        {
          try
          {
            xhr = new ActiveXObject("Msxml2.XMLHTTP");
          }
          catch (e)
          {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
          }
        }
     
     
        xhr.onreadystatechange = function()
        {
          if (xhr.readyState == 4 && xhr.status == 200)
          {
            leselect = xhr.reponseText;
            document.getElementById('localite').innerHTML = leselect;
          }
        }
     
        xhr.open("POST", "cp_seek.php", true);
        xhr.serRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        sel = document.getElementById('cp_enc');
        id_cp = sel.value;
     
        xhr.send("cp_send="+id_cp);
     
      }
    </script>
    La partie de ma page web qui utilise cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        <table>
          <tr>
            <td>Code postal : </td>
            <td><input type="text" name="cp_enc" maxlength="5" size="10" onblur="request()"></td>
          </tr>
          <tr>
            <td><select name="localite">        
            </select></td>
          </tr>
        </table>
    Et mon fichier "cp_seek.php"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
      //J'ai zappé la connection à la DB
     
      $query = mysql_query ("Select * From code_postaux Where code_postal=".$_POST["cp_send"]." Order By localite");
     
      echo '<select name="localite">';
      while ($rows = mysql_fetch_array($query))
      {
        echo '<option value="'.$rows["id_cp"].'">'.$rows["localite"].'</option>';
      }
      echo '</select>';
     
      mysql_close();
    Comme je le disais, il ne se passe rien ... Absolument rien. Pourtant l'appel au JScript se fait convenablement. J'ai juste aucun résultat, c'est comme s'il n'ouvrait pas le fichier en question !

    Si quelqu'un pouvait m'orienter, ce serait sympa

  2. #2
    Membre chevronné

    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2003
    Messages : 253
    Par défaut
    La propriété innerHTML de ton élément select va te permettre de modifier le HTML contenu entre <select> et </select>. Essaye déjà de supprimer les echo "<select...>" et echo "</select>" de ton code PHP.

    Ah, et accessoirement précise aussi l'attribut id="localite" dans ton select de ta page HTML, tu n'as renseigné que l'attribut "name".

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 57
    Par défaut
    Non, cela ne change rien ... Apparemment, il ne charge même pas le fichier PHP ...

  4. #4
    Membre chevronné

    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2003
    Messages : 253
    Par défaut
    Remplace xhr.reponseText par xhr.responseText également, ça devrait corriger certaines choses. N'hésite pas à te servir d'alert pour vérifier les retours du serveur et ça devrait aller

  5. #5
    Membre éprouvé Avatar de Shinji62
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 135
    Par défaut
    Et si la personne n active pas son javascript? hein ?

    Sinon pour un debuggage jte conseil firebug sur firefox

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 57
    Par défaut
    Bon, j'ai déjà une chose résolue ... Le script marche, j'avais une erreur de syntaxe dans l'appel à mon script.

    Le second problème que j'ai c'est que maintenant avec le code décrit plus haut, dans le premier élément de ma liste, il me place une seconde liste, imbriquée dedans et cela fait tout foirer !

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

Discussions similaires

  1. Réponses: 81
    Dernier message: 11/03/2013, 08h44
  2. Réponses: 72
    Dernier message: 05/02/2011, 18h16
  3. [Prototype] AJAX : PeriodicalUpdater je n'arrive pas à passer les paramètres
    Par raton_laveur dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 18/06/2010, 17h10
  4. Réponses: 4
    Dernier message: 19/05/2009, 19h14

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