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 :

importation de fonction javascript dans un autre fichier javascript


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 20
    Par défaut importation de fonction javascript dans un autre fichier javascript
    Bonjour,

    J'ai des fonctions javascript (objet) présent dans un fichier. je voudrais appeler ces fonctions a partir d'un autre fichier javascript. C'est ce dernier fichier javascript que je désire utiliser dans ma page html.

    Exemple:

    fichier personne.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function Personne(){
       this.bonjour=function(){
          alert("bonjour");
       }
    }

    fichier employée.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Employee.prototype = new Personne();
     
    function Employee(){
       this.prototype.bonjour=function(){
           Employee.prototype.bonjour();
           alert("Je suis un employé");
     
       }
    }
    fichier test.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
    17
    18
     
    <html>
    <head>
    <script language="JavaScript" type="text/javascript" src="employee.js"></script>
     
    <script language="javascript">
    var p1 = new Employee();
    </script>
     
    </head>
     
    <body>
    <form action="" method="get">
     
    <input name="" type="button" value="Bouton" onclick="p1.bonjour();">
    </form>
    </body>
    </html>
    il y a une erreur javascript lorsque j'instancie Employee : p1 a la valeur null ou n'est pas un objet.

    Merci !!!

  2. #2
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Par défaut
    Bonjour

    Il faut également ton fichier personne.js

    Rajoutes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script language="JavaScript" type="text/javascript" src="personne.js"></script>


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 20
    Par défaut
    Je viens d'effectuer la modif .

    Le message d'erreur a changé : " this.protoype a la valeur null ou n'est pas un objet".

  4. #4
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Par défaut
    function Employee(){
    this.prototype.bonjour=function(){
    Employee.prototype.bonjour();
    alert("Je suis un employé");

    }
    }
    C'est lourd ! (et sans doute faux)


    Employee.prototype.bonjour=function bonjour(){
    alert("Je suis un employé");
    }
    devrait convenir


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 20
    Par défaut
    le résultat obtenu n'est pas ce que j'attendais.

    je voudrais faire de l'héritage et avoir un équivalent du super() en java. cad la fonction bonjour défini dans employee et dans personne. la fonction bonjour de employee doit etre capable d'appeler la fonction bonjour de Personne puis ensuite de faire untraitement spécifique.

    De plus, La ligne de code que tu m'as donné appele le bonjour de personne ( alors que ke m'attendais au moins a ce qu'il appele le bonjour de Employee.)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 20
    Par défaut
    j'ai trouvé.
    il faut utiliser le framework prototype défini pour ajax.

    le fichier html reste identique a part l'importation de prototype
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script language="JavaScript" type="text/javascript" src="prototype.js"></script>
    <script language="JavaScript" type="text/javascript" src="personne.js"></script>
    <script language="JavaScript" type="text/javascript" src="employee.js"></script>
    fichier personne.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function Personne(){
       this.bonjourP=function(){
          alert("bonjour personne");
       }
    }
    fichier employee.js

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Employee = Class.create();
    Employee.prototype = Object.extend(new Personne(), {
    	initialize:function(){
    		//Personne.prototype.initialize.call(this);
    	},
     
    	bonjour : function (){
    		  this.bonjourP();
    		  alert("Je suis un employé");
    	}
    });
    J'aurais cependant souhaité garder le meme nom de fonction pour employé et pour personne. et appelé l'un dans l'autre via l'equivalent d'un super();

Discussions similaires

  1. Appeler une fonction javascript dans un autre fichier javascript
    Par solo190 dans le forum Ext JS / Sencha
    Réponses: 8
    Dernier message: 04/09/2014, 20h06
  2. déport d'une fonction onmouseover dans un autre fichier
    Par laurentSc dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/04/2010, 15h48
  3. Appel de fonctions situées dans un autre fichier
    Par Erielle dans le forum VBScript
    Réponses: 2
    Dernier message: 09/03/2010, 08h12
  4. Appel d'une fonction défini dans un autre fichier javascript
    Par jep33 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/02/2009, 08h43
  5. Réponses: 5
    Dernier message: 03/04/2007, 14h30

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