2010-09-29 5 views
3

Je peux déclencher avec succès un événement click dans un bouton sur une fenêtre parent à partir d'une fenêtre contextuelle dans FF et Chrome ... mais rien ne se passe dans IE. Des idées?Déclenche un événement click dans une fenêtre parent à partir d'une fenêtre contextuelle

window.opener.document.getElementById(Client ID Of Button).click(); 
+0

pouvez-vous nous montrer le code qui a ouvert la fenêtre? the window.open ... –

+0

Cela fonctionne généralement dans tous les navigateurs pour moi, pouvez-vous poster du code? De préférence seulement le code en question à la fois de l'ouvreur et du popup. –

Répondre

1

Je pense que dans IE, vous devriez écrire: « self.opener »

Je suppose que le problème est dans la fonction window.open qui a ouvert cette fenêtre, assurez-vous qu'il n'y a pas d'espace dans la page nom et nom de la fenêtre.

+0

Hmmm ... J'ai essayé, mais malheureusement cela n'a pas fonctionné. – Paul

0

Je pense que cela fonctionnerait, mais noter: le elementID devrait être entre guillemets et le dom indique que l'événement réside dans onClick()

window.opener.document.getElementById (« ID client de Button ») .sur clic();

Vous pouvez également utiliser self.opener

ou window.parent ou self.parent

Espérons que ces idées aident

+0

Merci pour le conseil, mais malheureusement, aucune de ces options ne fonctionnait dans IE, et beaucoup ont cessé de travailler dans FF et Chrome. – Paul

+0

peut-être que nous pourrions voir plus de la source? –

1

cela fonctionne dans FF $(parent.document.getElementById('clientId')).trigger('click');

+0

En effet, il le fait, mais il doit aussi fonctionner dans Internet Explorer :) – Paul

+0

ok Je ne l'ai jamais testé dans IE mais vous aurez besoin de deux versions, mais tout ce que vous devez faire est .trigger ('clic') qui devrait être corrigé dans votre code –

1

La réponse standard ici dans des conditions normales Le code basé sur une interface graphique indique que si vous avez votre événement .click appelez une méthode nommée et que vous avez tout votre code dans cette méthode, il est beaucoup plus facile d'appeler l'objet externe que la méthode nommée il essaie de déclencher un événement de clic. Je ne sais pas si cela s'applique à votre problème javascript, car ce n'est pas mon domaine, mais en ce qui me concerne, à moins que vous ayez un besoin profond et délibéré d'appuyer sur un bouton, c'est loin plus simple d'appeler une méthode.

+0

Lol, je suis totalement d'accord, mais je recourt à cette approche, car je ne peux pas autrement activer la méthode parente requise à partir de la popup. – Paul

1
window.opener.document.getElementById(Client ID Of Button).click(); 

À partir du code ci-dessus, supprimez simplement la "fenêtre". et essayez à nouveau. Son travail pour moi dans IE.

Correction: opener.document.getElementById(Client ID Of Button).click();

Questions connexes