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 :

[POO] Calendrier et passage d' objet en parametre


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 9
    Points : 8
    Points
    8
    Par défaut [POO] Calendrier et passage d' objet en parametre
    Bonjour,

    Voila je voudrais créer un objet javascript Calendrier de facon à l' appeler plusieurs fois dans ma page, l' idée est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <script>
      toto = new Calendrier( id, jour, mois, annee );
      toto.afficher();
    </script>
    Dans cette fonction afficher j' ai un prototype du genre :

    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
     
    function Calendrier( id, jour, mois, annee ) {
      this.id = id;
      this.jour = jour;
      this.mois = mois;
      this.annee = annee;
    }
     
    function popc( objet ) {
      alert( objet.id );
    }
     
    Calendrier.prototype.afficher = function () {
      document.write( '<a href="#" onclick="popc( this )">Test</a>' );
    }
    Ou alors :

    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
     
    function Calendrier( id, jour, mois, annee ) {
      this.id = id;
      this.jour = jour;
      this.mois = mois;
      this.annee = annee;
    }
     
    Calendrier.prototype.popc = function() {
      alert( this.id );
    }
     
    Calendrier.prototype.afficher = function () {
      document.write( '<a href="#" onclick="this.popc()">Test</a>' );
    }
    Les deux ne marchent pas et je cherche à passer mon objet en parametre, comment faire ?

    j+

  2. #2
    Invité
    Invité(e)
    Par défaut
    salut

    et en transmettant l'id de ton objet, puis en l'appelant grace à la fonction document.getElementById() ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.write( '<a href="#" onclick="popc( this.id )">Test</a>' );
    :
    Dernière modification par Caro-Line ; 21/04/2011 à 11h05.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Salut
    Salut,

    Merci déjà de ta réponse, je me sens un peu moins seul avec mon problème en ce jour grisaillant...

    Mais à mon sens getElementById est fait pour agir sur un noeud, alors que là dans mon cas c' est une variable ici un objet que je voudrais passer par un evenement onclick...

    Le truc qui devrait marché c' est :

    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
     
    function Calendrier( id, jour, mois, annee ) { 
      this.id = id; 
      this.jour = jour; 
      this.mois = mois; 
      this.annee = annee; 
    } 
     
    Calendrier.prototype.popc = function() { 
      alert( this.id ); 
    } 
     
    Calendrier.prototype.afficher = function () { 
      document.write( '<a href="#" onclick="this.popc()">Test</a>' ); 
    }
    Mais IE dit qu' il ne gére pas çà...

    Sinon le truc statique qui marche c' est :

    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 Calendrier( id, jour, mois, annee ) { 
      this.id = id; 
      this.jour = jour; 
      this.mois = mois; 
      this.annee = annee; 
    } 
     
    function popc() { 
      alert( toto.id ); 
    } 
     
    Calendrier.prototype.afficher = function () { 
      document.write( '<a href="#" onclick="popc()">Test</a>' ); 
    } 
     
    toto = new Calendrier( id, jour, mois, annee ); 
    toto.afficher();
    Du coup j' ai bien essayer de passer 'toto' en parametre du style :

    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
     
    function Calendrier( id, jour, mois, annee ) { 
      this.id = id; 
      this.jour = jour; 
      this.mois = mois; 
      this.annee = annee; 
    } 
     
    function popc( objet ) { 
      alert( objet.id ); 
    } 
     
    Calendrier.prototype.afficher = function () { 
      document.write( '<a href="#" onclick="popc( this )">Test</a>' ); 
    }
    Et hop c' est repartis pour un tour sachant que popc( this ) est une erreur de syntaxe !

    j+

    j+

  4. #4
    Invité
    Invité(e)
    Par défaut
    oui, pardon , je me suis un peu emballé.

    mais toi aussi, car ceci :
    Citation Envoyé par julienr
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.write( '<a href="#" onclick="this.popc()">Test</a>' );
    ne passe en aucun cas l'objet Calendrier en parametre, mais l'objet <a> en effet cette ligne est rajoutee au code HTML de la page, et l'objet Calendrier y est inconnu...

    c'est pour ça que je maintiens mon idee de passer un id en parametre, car je te propose de faire un tableau associant les id de tes Calendriers avec les objets (pour retrouver un objet à partir de son id) :

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    En effet je m' embrouille un peu avec le this de mon objet et le this du 'html'... Je vais donc revoir les choses sous un autre angle et remanier le code...

    j+

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Points : 6
    Points
    6
    Par défaut 10 ans plus tard....
    Salut,

    c'est un peu tard mais ca pourra peut-être servir à d'autre :

    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
     
    function Calendrier( id, jour, mois, annee ) {
      this.id = id;
      this.jour = jour;
      this.mois = mois;
      this.annee = annee;
      this.popc = function() 
      {
          alert( this.id );
      }
     
      this.afficher = function () 
      {
           document.write( '<a href="#" onclick="this.popc()">Test</a>' );
      }
     
    }
    Si tu fais ca, tu n'aura aucun problème avec this, ce sera le this de ta classe dont il s'agira.

    a+

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

Discussions similaires

  1. Passage d'objet par parametre get
    Par bapfuror dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 29/06/2009, 14h39
  2. Excel VBA et dll Com VB.net:passage d objet en parametre
    Par blueskyman dans le forum VB.NET
    Réponses: 0
    Dernier message: 02/02/2009, 02h22
  3. [C#]Passage d'objet en parametre
    Par LordBob dans le forum C#
    Réponses: 1
    Dernier message: 07/11/2006, 15h22
  4. [POO] Passage d'objet dans un formaulaire
    Par jiluc dans le forum Langage
    Réponses: 4
    Dernier message: 16/12/2005, 16h07
  5. [POO] passage nom objet dsn les parametres d'une fonction
    Par melou dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 21/10/2005, 17h26

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