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 :

eval d'une fonction


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Points : 155
    Points
    155
    Par défaut eval d'une fonction
    Bonjour!

    je vien de me faire un parser pour récupérer le code js d'une page que j'ai appelé via ajax seulement lors de l'évaluation du code avec eval il semble que ma fonction ne soit pas évaluée alors que l'alert que j'ai mis pour le test réussi.

    je comprend pas bien ce qui ce passe.

    si vous voulez vous pouvez aller sur
    [EDIT]http://mnj.serveftp.com/newleague/test/pageTest.php

    merci d'avance pour votre aide.

    ps: voici les bouts de codes qui sont concernés:
    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
    //pageTest.php
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" type="text/css" href="../design.css"/>
    <title>page de test</title>
    </head>
    <body>
    <?php include_once('class/AJAX_Class.js')?>
    <div id="centre" class="centre">
     
    </div>
    <script type="text/javascript">
       objAjax.execute({"id": "centre", "url": "test.html", "asynchronus": false});
    </script>
    </body>
    </html>
    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
    //test.html
    <script type="text/javascript">
    function click(){
       alert("coucou");
    }
    </script>
     
    <input type="button" value="bouton" onclick="click()" />
     
    toto
     
    <script type="text/javascript">
     
       alert("évalué");
     
    </script>
    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
    // Lorsque la requête réussit
    Ajax.prototype.onComplete = function (response)
    {
       // parser de javascript
       reponse = response;
       reponse = reponse.match(/(?:<script.*javascript.*>(?:[^<]+[\n\0\f\r]*)*<\/script>)*/gi);
       var script = "";
       for(i = 0; i < reponse.length; i++){
          if (reponse[i] != "") {
             script += reponse[i];
          }
       }
       script = script.replace(/(?:<script.*javascript.*>)|(?:<\/script>)|(?:[\n\f\0\r]*)/gi, "");
       alert(script);
       eval(script);
       // fin du parser de javascript
     
       // si il y a un objet à remplir (this.idFillObj != "")
       if (this.idFillObj != ""){
     
          // insertion de response après le innerHTML de l'objet à remplir
          if (this.append == "after") {
             document.getElementById(this.idFillObj).innerHTML = this.inner+"<br />"+response;
     
          // insertion de response avant le innerHTML de l'objet à remplir
          }else if (this.append == "before"){
             document.getElementById(this.idFillObj).innerHTML = response+"<br />"+this.inner;
     
          // response remplace le innerHTML de l'objet à remplir
          }else if (this.append == "no") {
             document.getElementById(this.idFillObj).innerHTML = response;
          }
       }
     
       // réinitialisation des variables pour éviter les conflits entre deux appels
       this.asyn = true;
       this.data = "";
       this.url = "";
       this.method = "POST";
       this.returnFormat = "txt";
       this.idFillObj = "";
       this.inner = "";
       this.append = "no";
    }
    Le langage de programmation le plus vieux, le plus optimiser et le plus efficace est l'ADN quelqu'un d'extrêmement intelligent l'a obligatoirement inventé.

  2. #2
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    coupe le mot scri pt en plusieurs morceaux
    + lis la faq et la contribution pour les s cript dynamique

  3. #3
    Membre habitué Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Points : 155
    Points
    155
    Par défaut
    j'ai fait comme t'as dit mais ça change rien comme je pensait mon parseur fonctionne bien.

    nouveau code du parseur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
       // parser de javascript
       reponse = response;
       reponse = reponse.match(/(?:<(?:scr)ipt.*javascript.*>(?:[^<]+[\n\0\f\r]*)*<\/(?:scr)ipt>)*/gi);
       var script = "";
       for(i = 0; i < reponse.length; i++){
          if (reponse[i] != "") {
             script += reponse[i];
          }
       }
       script = script.replace(/(?:<script.*javascript.*>)|(?:<\/script>)|(?:[\n\f\0\r]*)/gi, "");
       alert(script);
       eval(script);
       // fin du parser de javascript
    Le langage de programmation le plus vieux, le plus optimiser et le plus efficace est l'ADN quelqu'un d'extrêmement intelligent l'a obligatoirement inventé.

  4. #4
    Membre habitué Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Points : 155
    Points
    155
    Par défaut
    bon je vien de voir que mon parser ne sert pas à grand chose vu qu'il y avait beaucoup plus simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var mesScripts = document.getElementById(this.idFillObj).getElementsByTagName("script");
    for (var i=0; i<mesScripts.length; i++) {
       eval(mesScripts[i].innerHTML);
    }
    mais bon ca ne change rien à mon problème qui et que la fonction click() n'est pas définie et que plus bizard quand je click sur le bouton de ma page firebug ne me sort pas d'erreurs ...

    je pige pas ...
    Le langage de programmation le plus vieux, le plus optimiser et le plus efficace est l'ADN quelqu'un d'extrêmement intelligent l'a obligatoirement inventé.

  5. #5
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par hiul dragonfel Voir le message
    la fonction click() n'est pas définie
    Ben si : celle du navigateur (onclick)
    Il ne se passe rien parce qu'elle n'est pas implémentée, c'est tout.

    Conclusion : ton script n'est toujours pas pris en compte

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  6. #6
    Membre habitué Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Points : 155
    Points
    155
    Par défaut
    d'accord mais comment je fait pour l'implémenter alors ?

    si un eval marche pas c'est pas gagner.

    tu dis qu'il y a une fonction click() déjà définie ?

    je vais essayer de changer le nom de ma fonction alors ...

    je re dés que j'ai testé.
    Le langage de programmation le plus vieux, le plus optimiser et le plus efficace est l'ADN quelqu'un d'extrêmement intelligent l'a obligatoirement inventé.

  7. #7
    Membre habitué Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Points : 155
    Points
    155
    Par défaut
    bon on évolue maintenant le bouton me fait une erreur dans firebug qui dis que "test()" puisque j'ai changé de nom de fonction n'est pas définit.

    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
     
    <script type="text/javascript">
    function test(){
       alert("coucou");
    }
    </script>
     
    <input type="button" value="bouton" onclick="test()" />
     
    toto
     
    <script type="text/javascript">
     
       alert("évalué");
     
    </script>
    maintenant ça donne ça (pour éviter les remarques du genre "t'as pas oublié de change le nom de ta fonction lors de la définition ?")
    Le langage de programmation le plus vieux, le plus optimiser et le plus efficace est l'ADN quelqu'un d'extrêmement intelligent l'a obligatoirement inventé.

  8. #8
    Membre habitué Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Points : 155
    Points
    155
    Par défaut
    je vien de penser à quelque chose ....

    si une fonction est défini dans un bloque elle n'est plus accecible quand on en sort non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function (){
       function toto(){
          alert("toto");
       }
     
       toto() // OK
    }
     
    toto() // c'est qui ?
    c'est pas ce qui ce passe avec éval ?
    Le langage de programmation le plus vieux, le plus optimiser et le plus efficace est l'ADN quelqu'un d'extrêmement intelligent l'a obligatoirement inventé.

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Oui enfin là tu as plus qu'un simple problème de portée tu as aussi un problème d'instanciation
    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
    <script type='text/javascript'>
     
    function zoom(){
    window['toto']=function (){
          					alert("toto");
           				}
     
       toto() // OK
    }
     
     
     </script>
    </head>
     
    <body onload="zoom();toto() ">
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Membre habitué Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Points : 155
    Points
    155
    Par défaut
    merci

    maintenant il faut tout remplacer et je veux le faire avec les regexp

    sur le site W3school il y a un truc sur "grouping" mais il n'y a pas d'exemple si tu sait où je peux en trouver tu peux me le dire plz

    pendant ce temps je vais chercher sur la FAQ et le forum merci de votre aide tout le monde.

    PS: je met pas tout de suite en résolu parceque tantque ca marche pas ça l'est pas
    Le langage de programmation le plus vieux, le plus optimiser et le plus efficace est l'ADN quelqu'un d'extrêmement intelligent l'a obligatoirement inventé.

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    regExp de quoi ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Membre habitué Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Points : 155
    Points
    155
    Par défaut
    je voudrais savoir comment on utilise les parenthèses dans les regexp

    parcequ'il disent que ça permet de sauvegarder l'occurence trouver.

    donc si je récupère mon nom de fonction comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var fonction = "function toto(){ alert(\"toto\");}"
    fonction.replace(/function\s*(.*)\(/gi, /*je met koi ici*/ ?);
    enfin sur je fait comment pour récupérer le nom de ma fonction ?
    Le langage de programmation le plus vieux, le plus optimiser et le plus efficace est l'ADN quelqu'un d'extrêmement intelligent l'a obligatoirement inventé.

  13. #13
    Membre habitué Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Points : 155
    Points
    155
    Par défaut
    bon je vien de comprendre comment les () marchent (je crois)

    c'est juste pour récupérer un morceau d'expression qui ce trouve avant c'est ça ?

    si c'est ça je peux pas faire ce que je veux ...
    Le langage de programmation le plus vieux, le plus optimiser et le plus efficace est l'ADN quelqu'un d'extrêmement intelligent l'a obligatoirement inventé.

  14. #14
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    tu as de la chance ...
    moi je n'ai même pas compris ce que tu essayes de faire ^^
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  15. #15
    Membre habitué Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Points : 155
    Points
    155
    Par défaut
    je veux transformer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function toto (arg1, arg2, ..., argN){
    //code
    }
    en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    window['toto'] = funtion (arg1, arg2, ..., argN){
    //code
    }
    c'est tout ^^
    Le langage de programmation le plus vieux, le plus optimiser et le plus efficace est l'ADN quelqu'un d'extrêmement intelligent l'a obligatoirement inventé.

  16. #16
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    moi je n'ai même pas compris ce que tu essayes de faire ^^
    Moi non plus

    Ca serait pas quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function ta_fonction() {
    alert("toto");
    }
    ...
    document.getElementById('un_element').onclick = ta_fonction;
    Bref une fonction prédéfinies que tu affectes "à la volée" à certains évènements de certains objets (d'où tentative de la renommer en click() ....)

    Bon, j'en sais rien : je tente

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  17. #17
    Membre habitué Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Points : 155
    Points
    155
    Par défaut
    c'est juste un test pour l'instant.

    je veux transformer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function toto (arg1, arg2, ..., argN){
    //code
    }
    en


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    window['toto'] = funtion (arg1, arg2, ..., argN){
    //code
    }
    pour pouvoir instancier la fonction que j'importe correctemant.

    c'est tout ^^

    PS: le code que j'ai pour l'instant sans le tratement des fonctions JS
    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
    //pageTest.php
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" type="text/css" href="../design.css"/>
    <title>page de test</title>
    </head>
    <body>
    <?php include_once('class/AJAX_Class.js')?>
    <div id="centre" class="centre">
     
    </div>
    <script type="text/javascript">
       objAjax.execute({"id": "centre", "url": "test.html", "asynchronus": false});
    </script>
    </body>
    </html>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //test.html
    <script type="text/javascript">
    function test(){
       alert("coucou");
    }
    </script>
     
    <input type="button" value="bouton" onclick="test()" />
     
    <script type="text/javascript">
     
       alert("évalué");
     
    </script>
    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
    // Lorsque la requête réussit
    Ajax.prototype.onComplete = function (response)
    {
     
       // si il y a un objet à remplir (this.idFillObj != "")
       if (this.idFillObj != ""){
     
          // insertion de response après le innerHTML de l'objet à remplir
          if (this.append == "after") {
             document.getElementById(this.idFillObj).innerHTML = this.inner+"<br />"+response;
     
          // insertion de response avant le innerHTML de l'objet à remplir
          }else if (this.append == "before"){
             document.getElementById(this.idFillObj).innerHTML = response+"<br />"+this.inner;
     
          // response remplace le innerHTML de l'objet à remplir
          }else if (this.append == "no") {
             document.getElementById(this.idFillObj).innerHTML = response;
          }
     
          var mesScripts = document.getElementById(this.idFillObj).getElementsByTagName("script");
          for (var i=0; i<mesScripts.length; i++) {
             eval(mesScripts[i].innerHTML);
          }
       }
     
       // réinitialisation des variables pour éviter les conflits entre deux appels
       this.asyn = true;
       this.data = "";
       this.url = "";
       this.method = "POST";
       this.returnFormat = "txt";
       this.idFillObj = "";
       this.inner = "";
       this.append = "no";
    }
    Le langage de programmation le plus vieux, le plus optimiser et le plus efficace est l'ADN quelqu'un d'extrêmement intelligent l'a obligatoirement inventé.

  18. #18
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Heu c'est là que tu espères lancer la fonction ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input type="button" value="bouton" onclick="click()" />
     
    toto
    sans parenthèses et hors de balises script ????


    si tu declares
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    window['toto'] = funtion (arg1, arg2, ..., argN){
    //code
    }
    il faut l'appeler avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    toto(arg1, arg2, ..., argN)
    à l'intérieur d'un script ....ou dans un evènement
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  19. #19
    Membre habitué Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Points : 155
    Points
    155
    Par défaut
    euh non ça c'est un copier coller malencontreu de mon premier post ^^
    je corrige

    Citation Envoyé par hiul dragonfel Voir le message
    c'est juste un test pour l'instant.

    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
    //pageTest.php
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" type="text/css" href="../design.css"/>
    <title>page de test</title>
    </head>
    <body>
    <?php include_once('class/AJAX_Class.js')?>
    <div id="centre" class="centre">
     
    </div>
    <script type="text/javascript">
       objAjax.execute({"id": "centre", "url": "test.html", "asynchronus": false});
    </script>
    </body>
    </html>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //test.html
    <script type="text/javascript">
    function test(){
       alert("coucou");
    }
    </script>
     
    <input type="button" value="bouton" onclick="test()" />
     
    <script type="text/javascript">
     
       alert("évalué");
     
    </script>
    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
    // Lorsque la requête réussit
    Ajax.prototype.onComplete = function (response)
    {
     
       // si il y a un objet à remplir (this.idFillObj != "")
       if (this.idFillObj != ""){
     
          // insertion de response après le innerHTML de l'objet à remplir
          if (this.append == "after") {
             document.getElementById(this.idFillObj).innerHTML = this.inner+"<br />"+response;
     
          // insertion de response avant le innerHTML de l'objet à remplir
          }else if (this.append == "before"){
             document.getElementById(this.idFillObj).innerHTML = response+"<br />"+this.inner;
     
          // response remplace le innerHTML de l'objet à remplir
          }else if (this.append == "no") {
             document.getElementById(this.idFillObj).innerHTML = response;
          }
     
          var mesScripts = document.getElementById(this.idFillObj).getElementsByTagName("script");
          for (var i=0; i<mesScripts.length; i++) {
             eval(mesScripts[i].innerHTML);
          }
       }
     
       // réinitialisation des variables pour éviter les conflits entre deux appels
       this.asyn = true;
       this.data = "";
       this.url = "";
       this.method = "POST";
       this.returnFormat = "txt";
       this.idFillObj = "";
       this.inner = "";
       this.append = "no";
    }
    Le langage de programmation le plus vieux, le plus optimiser et le plus efficace est l'ADN quelqu'un d'extrêmement intelligent l'a obligatoirement inventé.

  20. #20
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    arf et dire que polothenki a eu le même problème récemment ...

    Je crois malheureusement qu'il est parti en congés
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [PHP 5.3] eval et strrpos dans une fonction
    Par michelg77 dans le forum Langage
    Réponses: 52
    Dernier message: 12/03/2012, 15h00
  2. [PHP 5.3] eval dans une fonction
    Par michelg77 dans le forum Langage
    Réponses: 2
    Dernier message: 06/03/2012, 15h13
  3. Eval n'exécute qu'une fois une fonction
    Par Gp2mv3 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 05/09/2011, 16h10
  4. utilisation d'eval pour une fonction générique
    Par DrDam dans le forum Langage
    Réponses: 5
    Dernier message: 17/09/2008, 12h22
  5. Existe-t-il une fonction Eval() sous Delphi ?
    Par Hell dans le forum Langage
    Réponses: 5
    Dernier message: 20/12/2004, 17h45

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