Javascript et communication entre fenêtres !!!!

Javascript et communication entre fenêtres !!!! - Programmation

Marsh Posté le 20-02-2001 à 01:04:44    

voila mon problème :
j'ai une page web "mère"qui crée un fenêtre popup. Et dans ce popup j'ai une page web qui veut modifier le champ d'un editbox de la page web "mère".
Donc dans la page "mère" j'ai mis le code suivant pour charger mon popup (composé de deux frames : sommaire et principal) :
function Open()
{
smiley = window.open('index.html','smiley' );
smiley.principal.document.a = self;
}
 
A est donc une variable du popup qui stocke un "pointeur" vers la page web "mère".
 
Ainsi quand mon popup veut modifier le editbox de ma page web "mère" je fais :
document.a.document.form.MonEditBox.src = 'Coucou';
 
J'ai essayé sur mon ordi en local et tout marche niquel.
Par contre dès que le popup est chargé depuis un serveur web ça ne marche pas. IE me fait une erreur sur :
"smiley.principal.document.a = self;"
 
Es-ce quelqu'un pourrait m'aider ?

 

--Message édité par leander--

Reply

Marsh Posté le 20-02-2001 à 01:04:44   

Reply

Marsh Posté le 20-02-2001 à 02:39:12    

J'ai pas tout compris, mais window.opener pointe sur la window mere depuis le popup.
Donc dans ton popup tu peux faire:
window.opener.document.label_name.value="Ca Marche!";


---------------
http://www.cheata.net le site qui vous donne la banane!
Reply

Marsh Posté le 20-02-2001 à 11:15:20    

ok merci bcp.
ça marche niquel et c'est plus simple.
 
Mais en fait je viens de découvrir que mon problème vient du fait que j'ouvre mon "popup" sur un autre serveur que ma mapge web "mère". Et donc dans ce cas le popup n'arrive pas à acceder à la page web mère.
Pourtant quand les deux pages sont sur le même serveur, ça marche niquel !

Reply

Marsh Posté le 20-02-2001 à 11:47:21    

c'est pour faire quoi tout ça?


---------------
http://www.cheata.net le site qui vous donne la banane!
Reply

Marsh Posté le 20-02-2001 à 12:01:46    

c'est pour ajouter automatique des smiley dans le champ editbox d'un page de forum ! Le popup contient une liste de smiley et lorsque je cliques sur l'un, un code est automatiquement ajouté dans le message du forum...
 
Et maintenant que j'ai bidouiller pour tout mettre sur le serveur j'ai des problèmes pour acceder à mon editbox.
En fait la page web mère est généré avec de l'asp.
Il y a donc dans la page une ligne de ce style :
<form method="GET" action="ajout.asp">
 
donc quand je veux acceder à mon editbox je fais :
window.top.opener.document.form.MonEditBox.value
 
Avant ça marchait très bien , lorsque j'avais une page d'exemple avec juste la balise <form>, mais avec la balise <form method="GET" action="ajout.asp"> ça ne marche pas.
Le debuggeur javascript de Netscape 6 me dit que form n'a pas de propriété MonEditBox (alors qu'elle existe)

Reply

Marsh Posté le 20-02-2001 à 17:10:28    

haha!
il suffis de donner un nom à ton formulaire name="bidule"
apres tu remplace form par le nom et ça devrait marcher.
 
Sinon une petite précision sur les droit du popup.
depuis le popup tu n'as pas le droit de lire window.opener.document.location.href
par contre tu as le droit d'écriture.
Donc:
var test=window.opener.document.location.href;
chie et
window.opener.document.location.href="http://www.monsite"
marche
 
Je sais pas si c'est généralisable aux autres objets mais bon...
Bonne continuation ;)


---------------
http://www.cheata.net le site qui vous donne la banane!
Reply

Marsh Posté le 18-12-2001 à 00:20:34    

Merci, Window.opener je l'ai trouvé nul part et ça marche
donc -> big merci !!!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed