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 :

Perte d'une fonction sur un OnClick d'un TR


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Perte d'une fonction sur un OnClick d'un TR
    Bonjour à tous,
    Je suis confronté à un problème que je n'arrive pas à régler depuis 24h et je commence à m'énerver donc au lieu de casser mon PC je fais appel à vous.
    Mon but, à partir d'une page j'appelle une pop up.
    Dans cette pop up, une table ou l'on peut sélectionner des lignes et en cliquant sur ajouter, les ajouter à une table qui se trouve dans la page mère.
    Pour le maintenant ca va, tout se passe bien, le problème.
    Lors de la création dynamique du TR, je lui ajoute une fonction sur le onClick lui permettant de changer sa class quand on lui clique dessus.
    Quand la pop up est encore ouverte tout se passe bien quand je sélectionne une ligne dans la table qui se trouve dans la page mère, mais dès que je l'a ferme ça ne marche plus !! Pourtant la fonction est défini dans .js commun au 2 pages. Si vous avez une idée ou sinon un autre moyen de pouvoir contourner ce problème je serais ravi !
    Voici le code de la création du TR : (A noter que l'application n'est utilisé qu'avec IE6)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var arr = getElementsByClass('selected',null,'tr');
    		for (i = 0, i = 0; i < arr.length; i++) {
    			var newRow = window.opener.document.getElementById('table_actions').insertRow(-1);
    			newRow.id = arr[i].id;
    			newRow.onclick=onClickPlus;
    			newRow.style.setAttribute('cursor','hand');
    			newRow.height='20';
    		    var newCell = newRow.insertCell(0);
    		    newCell.innerHTML = arr[i].childNodes[0].innerText;
    		}
    Et la fonction OnClickPlus basique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function onClickPlus(){
    	if(this.className!=''){
    		this.className='';
    	} else {
    		this.className='selected';
    	}
    }

    Merci d'avoir lu mon problème.

  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
    crée la fonction dans la page mère ! depuis le popup fais l'appel...
    opener.nouvellefonction()

  3. #3
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Ça ne marche pas non plus ...
    quand je fais alert(window.opener.mafonction);
    Ça me met undefined ...

  4. #4
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Autant pour moi ! Ca marche Merci beaucoup !

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 14/09/2012, 21h20
  2. Réponses: 6
    Dernier message: 17/12/2010, 18h05
  3. attacher une fonction sur onclick
    Par julien.63 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/10/2007, 20h00
  4. Réponses: 3
    Dernier message: 16/01/2006, 16h02
  5. Réponses: 6
    Dernier message: 16/11/2005, 20h43

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