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] exécuter du code javascript qui est dans un xhr.responseText


Sujet :

AJAX

Vue hybride

Rodinrott [AJAX] exécuter du code... 25/11/2009, 10h50
Rodinrott J'ai trouvé ça : ... 26/11/2009, 14h49
madevilts Pourquoi ne pas directement... 26/11/2009, 15h55
E.Bzz Bonjour, je pense que la... 26/11/2009, 16h27
Rodinrott Merci pour c réponse. ... 26/11/2009, 17h17
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 35
    Par défaut [AJAX] exécuter du code javascript qui est dans un xhr.responseText
    Bonjour tout le monde,

    J'ai rééditer la discution car je pense que je me suis fait mal comprendre.

    je me sert d'ajax pour mettre a jour une "div".

    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
     
    function select_date(type_engin) //function affichant la parti date pour analysé l'historique
    	{
    		var xhr = getXhr();
     
    		xhr.onreadystatechange = function()
    		{
    			if(xhr.readyState == 4 && xhr.status == 200)
    			{
    				leselect = xhr.responseText;
    				document.getElementById('selection').innerHTML = leselect;
    			}
    		}
    		xhr.open("POST","/magicweb/script_php/script_selection_date.php", true);
    		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    		data = "type_engin="+type_engin;
    		xhr.send(data);
    	}
    je dois fait apparaitre dans cette div un input + un bouton de calendrier.

    le calendrier est appellé comme ceci dans mon fichier script_selection_date.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    <script type="text/javascript" language="JavaScript">
    	new tcal ({
    	\'formname\': \'historique\',
    	\'controlname\': \'datedebut\'
    	});
    </script>
    la mise a jour de la "div" se passe bien, le input apparait mais pas mon bouton de calendrier.

    comment je peux faire pour afficher mon bouton de calendrier?

    Merci d'avance
    --
    Rodinrott

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 35
    Par défaut
    J'ai trouvé ça :

    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
     
    function select_date(type_engin) //function affichant la parti date pour analysé l'historique
    	{
     
    		var xhr = getXhr();
     
    		xhr.onreadystatechange = function()
    		{
    			if(xhr.readyState == 4 && xhr.status == 200)
    			{
    				document.getElementById('selection').innerHTML = xhr.responseText;
     
    				var mesScripts = document.getElementById("selection").getElementsByTagName("script");
     
    				for (var i=0; i<mesScripts.length; i++) 
    				{
    					eval(mesScripts[0].innerHTML);
    				}
    			}
    		}
    		xhr.open("POST","/magicweb/script_php/script_selection_date.php", true);
    		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    		data = "type_engin="+type_engin;
    		xhr.send(data);
    	}
    la page n'affiche plus que le bouton...

    je ne comprend pas

    Aider moi SVP

    --
    Rodinrott

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Par défaut
    Pourquoi ne pas directement faire un eval du xhr.response Text ?

    Dans l'idée, ton php génère donc du javascript (sans les balises <script> </script>).

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    je pense que la réponse est dans la FAQ. Tu dois être
    soi dans ce cas
    soi dans celui-là
    Non ?

    A+

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 35
    Par défaut
    Merci pour c réponse.

    madevilts : j'ai essayé il me crée une "erreur de syntaxe".

    E.Bzz : je ne comprend pas trop la fonction AfterAjax() qui il a dans le code du deuxieme cas que tu m'expose.

    Je vais vous mettre mon fichier php pour plus d'info.

    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
     
    <?php
     
    $type_engin = $_POST['type_engin'];
     
     
    $selection = '<form action="analyse_historique_magiweb_'.$type_engin.'.php" name="historique" id="historique" method="post" enctype="multipart/form-data">';
    $selection .= '<br />';
    $selection .= '<font size="4">De </font>';
    $selection .= '<input type="text" id="datedebut" name="datedebut" size="10">';
     
    $selection .= '<script type="text/javascript" language="JavaScript">';
    $selection .= 'new tcal ({';
    $selection .= "'formname': 'historique',";
    $selection .= "'controlname': 'datedebut'";
    $selection .= "});";
    $selection .= "</script>";
                                    
    echo $selection;
    ?>
    Voila se que je veux faire apparaitre(dans le div) a l'appui du bouton radio.

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par Rodinrott Voir le message
    E.Bzz : je ne comprend pas trop la fonction AfterAjax() qui il a dans le code du deuxieme cas que tu m'expose.
    Elle sert à réaffecter les évènements des objets mis à jour via Ajax.
    Par exemple, si dans ton input, tu avais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange="verif_saisie();"
    dans ta fonction AfterAjax(), il faudrait ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("datedebut").onchange = verif_saisie;
    Dans ton cas, je crains que créer le form via innerHTML pose problème

    Il vaudrait mieux le créer via le DOM ...

    A+

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

Discussions similaires

  1. [AJAX] Comment débugger un javascript qui est chargé via Ajax ?
    Par Walkn dans le forum jQuery
    Réponses: 11
    Dernier message: 03/11/2012, 01h32
  2. un programme qui éxecute le code qui est dans un txt ou script SQL?
    Par tibofo dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 06/11/2008, 18h50
  3. [AJAX] code javascript qui ne s'excute pas
    Par backfire dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/05/2008, 15h10
  4. Rafraichir un JPanel qui est dans un JScrollPane
    Par anitshka dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 06/12/2004, 23h17
  5. voir comment est alimentée une vue qui est dans dba_objects
    Par meufeu dans le forum Administration
    Réponses: 15
    Dernier message: 06/10/2004, 17h27

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