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 :

nom de fonction dynamique


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 82
    Points : 50
    Points
    50
    Par défaut nom de fonction dynamique
    Bonjour a tous
    je cherche a generer dynamiquement le nom d'une fonction j'en ai besoin pour ma fonction ajax , il sagit de la fonction qui s' execute à la réception du doc xml, ce qui reduit considerablement mon code .
    pour l' instant j' utilise l'objet windows mais a ce quon m' a dit ca ne fonctionne pas sous linux!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    xhr.onreadystatechange = function() {window[fonction](xhr,parametre2); };
    xhr.open("POST",""+adresse+"", true);
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xhr.send(parametre_genere);
    est ce que vous conaissez une autre methode , on m'a conseille de faire comme ce ci mais ca ne focntinne pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function test(){}
     
    affichage = new test();
    merci d'avance

  2. #2
    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 640
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <script type='text/javascript'>
    window['manouvellefonction']= function(){alert("coucou")}
    manouvellefonction();
    </script>
    et je ne vois pas cela ne fonctionnerait pas sous linux ... ce n'est pas une question d'OS mais de browser ...

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 82
    Points : 50
    Points
    50
    Par défaut
    merci de me partager tout ton savoir

  4. #4
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    et je ne vois pas cela ne fonctionnerait pas sous linux ...
    Pareil pour moi

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 82
    Points : 50
    Points
    50
    Par défaut
    une personne m'a dit cela sur une autre forum ,mais si vous le dites ,ca doit etre une connerie, j espere que ca fonctionne avec les navigateur fournit avec linux ou mac de toute facon les linuxien peuvent toujours utliser firefox ,je n ai pas de probleme avec ce navigateur.
    Le fait ai que je fait toutes les requetes de mon site en asynchrone avec cette fonction donc si elle ne fonctionnais pas c'est tout le site qui serait inutile...
    enfin sous windows ca fonctionne tres bien avec tout les navigateur que j' ai utilisés (exlorer firefox opera)... et en bon webmaster je me souscis de TOUT mes utilisateur potentiels on peus pas me le reprocher

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 82
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <script type='text/javascript'>
    window['manouvellefonction']= function(){alert("coucou")}
    manouvellefonction();
    </script>
    et je ne vois pas cela ne fonctionnerait pas sous linux ... ce n'est pas une question d'OS mais de browser ...
    et je ne vois pas pourquoi ...

  7. #7
    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 640
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    sans doute parceque certains browser n'acceptent pas l'attribution de propriétés à l'objet window...

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 82
    Points : 50
    Points
    50
    Par défaut
    et vous ne conaissez pas une autre methode pour nommer dynamiquement ma fonction autre qu' avec l' objet windows ?

    xhr.onreadystatechange = function() {window[fonction](xhr,parametre2); };
    xhr.open("POST",""+adresse+"", true);
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xhr.send(parametre_genere);

  9. #9
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Ecoute, celui qui t'as raconté que ca ne marche pas s'est trompé.

    Il n'y a pas d'autre moyen, de toute facon.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 89
    Points : 102
    Points
    102
    Par défaut
    Il n'y a pas d'autre moyen, de toute facon.
    Si je ne dis pas de bêtise, il y a toujours moyen de passer par un eval() !

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 82
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par FremyCompany Voir le message
    Ecoute, celui qui t'as raconté que ca ne marche pas s'est trompé.
    .
    je comprend pas bien la phrase... si il n' y a pas d' autres moyen c'est pas grave merci quand meme !
    je vais explorer ta piste julien, etant autodidacte si vous pouvez m 'en dire plus sur "eval"ce serait bien sympa ^^

  12. #12
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Citation Envoyé par JulienC Voir le message
    Si je ne dis pas de bêtise, il y a toujours moyen de passer par un eval() !
    Oui... et non

    C'est à dire que si tu fais ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script blablaPourW3C><!--
    eval("function k() { ... }");
    --></script>
    Ca va marcher

    Mais si tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function o() {
      eval("function k() { ... }");
    }
    Ca va pas marcher car ta fonction k sera crée pour le contexte de la fonction o, et donc pas accessible par la suite pour un autre appel... En gros tu pourras l'utiliser qu'à partir du eval et jusqu'au } qui termine function o().

    Mais si c'est ce que tu compte faire, aucun problème alors

    Sinon, tu peux peut-être essayer, mais c'est sans garantie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function o() {
       k = function() { ... }
    }
    J'ai jamais essayé ca, mais en fait, ca peut peut-être marcher

  13. #13
    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 640
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function o() {
       k = function() { ... }
    }
    et l'appeler avec k() ...
    heu ça doit tourner mais du coup comment tu fasi pour dynamiser le k ???

  14. #14
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    comment tu fasi pour dynamiser le k ???
    Dynamiser ?

    [EDIT]Ah ok, j'ai pigé. Ben avec eval
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eval(propName + ' = function() { ... }')

  15. #15
    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 640
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut

Discussions similaires

  1. Nom de fonction dynamique
    Par Umlist dans le forum C
    Réponses: 4
    Dernier message: 14/06/2012, 06h28
  2. Nom de fonction "dynamique"
    Par chouetz dans le forum C
    Réponses: 9
    Dernier message: 29/05/2011, 00h53
  3. Réponses: 4
    Dernier message: 18/01/2007, 05h46
  4. Noms de fonctions dynamiques
    Par pierrelm dans le forum Langage
    Réponses: 4
    Dernier message: 28/06/2006, 10h23
  5. Nom de fonction dynamique
    Par gege2061 dans le forum C
    Réponses: 2
    Dernier message: 21/06/2005, 14h44

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