Problème avec xajax et HttpRequest

Bonjour,

J'ai un problème avec xajax et HttpRequest.

J'ai une page Index.php qui appelle une page page.php (via xmlhttprequest) sur laquelle se trouve un bouton qui execute xajax_maFonction (onclick).

Lorsque je clique sur mon bouton sur page.php, ça marche nickel.

Mais lorsque je clique sur ce même bouton après que ma page ait été appelée par Index.php, Je reçois l'erreur "xajax_maFonction is not defined".

Quelqu'un aurait une explication ? Et une solution?

Merci!

10 réponses

  1. Contributeur
    salut,

    aurais-tu une version en ligne à nous montrer ?
    et colles nous stp l'erreur en entier que l'on sache par quel fichier elle est levée.
    1. Salut,

      Merci pour ta réponse. L'erreur est détectée dans index.php, ligne 1.

      J'ai tenté de te coller mon code mais il n'y a pas assez de place.. tu peux le voir là :

      http://community.xajaxproject.org/viewtopic.php?id=5882

      Je peux te donner l'adresse en MP si les MP existent sur ce site ^^

      Merci!!
      1. Contributeur
        si les MP existent sur ce site
        oui, il suffit d'être membre.
    2. Ah j'oubliais :

      L'erreur n'est pas renvoyée par le debug de xajax qui ne s'execute pas via HttpRequest dans index.php et dit que tout ok (forcément) sur contact.php; elle est renvoyée par firebug!
      1. Contributeur
        comment est-ce que tu inclues 'contact.php' dans 'index.php' ?
        ça doit venir de là car ta déclaration de xajax a l'air bonne.
        1. J'utilise ce code

          function envoieRequete(url,id)
          {
          var xhr_object = null;
          var position = id;
          if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest();
          else
          if (window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP");

          // On ouvre la requete vers la page désirée
          xhr_object.open("GET", url, true);
          xhr_object.onreadystatechange = function(){
          if ( xhr_object.readyState == 4 )
          {
          // j'affiche dans la DIV spécifiées le contenu retourné par le fichier
          document.getElementById(position).innerHTML = xhr_object.responseText;
          }
          }
          // dans le cas du get
          xhr_object.send(null);

          et ce lien :

          <a href="#" onclick="envoieRequete('contact.php','centre');" title="Contact">CONTACT</a>

          Le code me semble correct aussi mais apparemment la fonction xajax n'est pas reconnue :-(
          1. Contributeur
            suis en train de relire, en attendant as-tu lu ce thread chez Alsa ?
            avant de mettre du JS, est-ce que ton formulaire fonctionnait et est-ce que tu as vraiment besoin de JS ?
            1. Contributeur
              essaie de mettre les 'include()' dans 'index.php'.
              require_once('phpmailer/class.phpmailer.php');
              require_once('xajax/xajax_core/xajax.inc.php');
              1. Oui, on en a discuté sur leurs forums mais tout ce que j'ai tenté sans JS comme https://www.webmaster-hub.com/publications/un-mailer-pour-votre-site-web/

                ne s'intègre pas très bien et puis c'est l'occasion d'apprendre de nouvelles choses, j'aimerais comprendre cette erreur :)

                <?php
                require_once('phpmailer/class.phpmailer.php');
                require_once('xajax/xajax_core/xajax.inc.php');
                ?>

                dans index.php donne

                Fatal error: Cannot instantiate non-existent class: xajax in contact.php on line 35

                Merci en tout cas!
                1. Contributeur
                  essaie de mettre les 'include()' dans 'index.php'.
                  mauvaise idée, du coup on ne peut même plus tester en ligne…
                  tu peux remettre les 'include()' où ils étaient !

                  Discussions similaires

                  Problème xajax Javascript

                  3 réponses