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] interpr�ter JS dans un responseText


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Avatar de onet
    Profil pro
    Inscrit en
    D�cembre 2002
    Messages
    365
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : D�cembre 2002
    Messages : 365
    Par d�faut [AJAX] interpr�ter JS dans un responseText
    Salutation a tous,

    Bon, j'ai un grave probl�me :s.

    J'ai absolument besoin d'interpr�ter du code javascript retourn� par une requ�te Ajax via un responseText, et sans aucunes action. Savez vous comment le faire?


    Je m'explique un peu mieux. J'ai, par exemple, une page toto.inc qui contient:
    <input type="button" id="toto" />
    <script>
    var tata = document.getElementById('toto');
    tata.onclick = function(){
    alert('toto');
    }
    </script>
    J'ai ensuite une page html qui appel via ajax cette page toto.inc
    et me l'affiche dans une div. Je voudrais en cons�quence que le click sur le bouton nouvelllement affich� me soit reconnu et m'affiche mon alert.

    Mais... Ca ne fonctionne pas . une id�e de comment je peux faire? C'est un exemple tout simple, mais c'est la base compl�te d'un projet :s

    Onet

    P.S: on a test� en placant un onclick dans notre bouton et en d�clarant une fonction qui faisait la meme chose, sans plus de succ�s!

    Pour r�sumer, on a besoin d'initialiser des fonction r�cup�r�e via une requ�te Ajax...

  2. #2
    Membre chevronn� Avatar de yjuliet
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Ao�t 2006
    Messages
    362
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Seine et Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 362
    Par d�faut
    As-tu essay� d'avoir une biblioth�que de fonctions que tu charges par la balise script ?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <script src="mabiblio.js" ...></script>
    c'est ce que j'utilise habituellement et �a fonctionne (du moins chez moi)
    Mais, c'est vrai que �a ne marche pas forc�ment si tes fonctions sont g�n�r�es dynamiquement et ne peuvent pas prendre en param�tres les �l�ments variables...

  3. #3
    Membre �m�rite

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Par d�faut
    Bonjour,

    je ne suis pas s�r que �a marche mais tu peux essayer :

    au retour de ton responseText, tu fais :
    par contre �a n�cessite d'enlever les balises <script>..

    Sinon, quand tu veux que ton ajout d'�l�ment par AJAX interagisse avec JS, il vaut mieux rajouter ton �l�ment en suivant les proc�dures DOM.
    ex:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    var bouton = document.createNode("input");
    bouton.onclick = function(){
    alert('toto');
    }
    var tonNouveauDiv = document.getElementById("tonDiv");
    tonNouveauDiv.appendChild(bouton);
    et une autre alternative encore plus simple :

    tu mets le script de ta fonction dans l'en-t�te de la page, tu ne rajoutes que le bouton avec AJAX...

  4. #4
    Membre �clair�
    Avatar de onet
    Profil pro
    Inscrit en
    D�cembre 2002
    Messages
    365
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : D�cembre 2002
    Messages : 365
    Par d�faut
    Citation Envoy� par ziggotos
    Bonjour,

    je ne suis pas s�r que �a marche mais tu peux essayer :

    au retour de ton responseText, tu fais :
    par contre �a n�cessite d'enlever les balises <script>..

    Sinon, quand tu veux que ton ajout d'�l�ment par AJAX interagisse avec JS, il vaut mieux rajouter ton �l�ment en suivant les proc�dures DOM.
    ex:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    var bouton = document.createNode("input");
    bouton.onclick = function(){
    alert('toto');
    }
    var tonNouveauDiv = document.getElementById("tonDiv");
    tonNouveauDiv.appendChild(bouton);
    et une autre alternative encore plus simple :

    tu mets le script de ta fonction dans l'en-t�te de la page, tu ne rajoutes que le bouton avec AJAX...
    Oui, c'est la solution que l'on a test� et qui semble fonctionner.

    par contre, pour le script dans l'ent�te et ne rajouter que le bouton, ce n'est pas possible, car le contenu est totalement dynamique, donc ca ferait une page trop lourde a charger (pour r�sumer, c'est un CMS totalement ax� sur un couple AJAX/PHP5, avec aucuns chargement de pages ult�rieur, si ce n'est via Ajax!)

    Merci, je test tout ca, et je reviens

    Onet

  5. #5
    Membre �clair�
    Avatar de onet
    Profil pro
    Inscrit en
    D�cembre 2002
    Messages
    365
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : D�cembre 2002
    Messages : 365
    Par d�faut
    Tadam! Ca fonctionne... Sauf... sous... Allez, devinez sous quel navigateur pourri ca ne fonctionne pas... Allez, vous voulez un indice ou vous avez devinez ce truc tout pourris dont le logo contient un e en bleu...

    Onet qui va se pendre...

    P.S: FF, Opera, etc sans souci, �videmment...

  6. #6
    Membre �m�rite

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Par d�faut
    qu'est-ce qui ne marche pas ?
    la prise en charge de l'�l�ment par JS ou juste la prise en charge du onclick ?

  7. #7
    Membre �clair�
    Avatar de onet
    Profil pro
    Inscrit en
    D�cembre 2002
    Messages
    365
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : D�cembre 2002
    Messages : 365
    Par d�faut
    Salut,

    Non, en fait ca ne change rien, car le souci, c'est que le javascript est initialis� lors du chargement de la page, ce qui ne se fait pas lors du retour de la requ�te Ajax.

    la solution qu'on a trouv�, pour le moment, c'est lors du retour de placer le code javascript dans un div appel�e script (par exemple), et de faire un eval javascript de celle-ci.

    Je vasi tester a fond cette m�thode, si d'autres ont des id�es?

    Onet

    ( )

Discussions similaires

  1. [AJAX] Retour chariot dans un textarea avec AJAX
    Par Death83 dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 18/09/2006, 22h32
  2. Interpr�tation XML dans un JTextPane
    Par Djakisback dans le forum AWT/Swing
    R�ponses: 9
    Dernier message: 22/05/2006, 03h31
  3. Connaissez-vous LUA ? un language interpr�t� utilis� dans de nombreux jeux
    Par zMurfs dans le forum D�veloppement 2D, 3D et Jeux
    R�ponses: 3
    Dernier message: 18/05/2006, 22h34
  4. [AJAX] ajax et le # dans la barre de titre
    Par speedev dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 18/05/2006, 15h21
  5. [AJAX] requ�te sql dans js
    Par cheers94wow dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 17/05/2006, 13h24

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