Probleme en javascript popup - window.opener

Fermé
benoitXV Messages postés 228 Date d'inscription lundi 2 juin 2008 Statut Membre Dernière intervention 24 mai 2022 - 18 juil. 2008 à 13:57
benoitXV Messages postés 228 Date d'inscription lundi 2 juin 2008 Statut Membre Dernière intervention 24 mai 2022 - 23 juil. 2008 à 11:51
Bonjour,


Mon problème n'est pas facile à décrire.

Depuis un popup, je modifie (en javascript) la page appelante.
Et je lance des evenement comme onkeyup().

mon onkeyup() sur la page mère, execute des requetes asynchrone ajax.
et remplit une listbox.

Si j'affiche (avec alert() ) le nombre d'options de mon select immédiatement après avoir lancé le onkeyup()
j'obtiens 0
si je l'affiche une seconde fois, j'obtiens la bonne valeur.
Le fait de mettre une ligne alert('coucou'); aprés l'appel de onkeyup(); permet a mon code
de bien se deroulé.
J'ai remarqué que la listbox se remplit juste apres que je ferme mon message d'alert???

je ne comprend pas la raison.

Au début j'ai pensé utilisé un timer, mais le problème est autre.

Merci de toute piste.
A voir également:

6 réponses

kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
18 juil. 2008 à 16:36
J'aurai éventuellement une hypothèse mais ce n'est pas certain.

Est-ce que le alert() avec le nombre d'élément de ta liste est fait dans la popup ? De même pour l'alert("coucou") ?
Si oui, c'est normal, tu as un temps de latence.

Ta requête de rafraichissement n'as pas le temps de se terminer que l'alert() est effectuée.

Es-tu sur d'avoir utiliser correctement le timer ?
Est ce que tu peux mettre ton code ?
0
benoitXV Messages postés 228 Date d'inscription lundi 2 juin 2008 Statut Membre Dernière intervention 24 mai 2022 17
18 juil. 2008 à 16:46
oui je suis certain pour le timer...que je mette 10s ou 20s c'est pareil

Par contre a l'ouverture de alert('patatit patata') , ma liste se rempli??

J'ai le même problème si je le fait directement depuis la fenêtre mère....

Ya un truc...

Pour le code ce serai trop long de tous mettre...(fonctionne depuis la page mere)

function refresh_liste()
{
	var i=0;
	var j=-1;
	var id=0;
	document.getElementById('mot_rech').onkeyup(); ----------->appel ajax1
	id=document.getElementById("id_mot").value;
	//alert("toto");------------------------>permet que cela fonctionne
	for (i;i<document.getElementById('mot_trouve').options.length;i++)
	{
		j = parseInt(document.getElementById('mot_trouve').options[i].value);
		if (j == id)
		{
			document.getElementById('mot_trouve').selectedIndex =i;
                        //sortie de boucle
			i=document.getElementById('mot_trouve').options.length; 
		}
			
	}
	document.getElementById('mot_trouve').onchange(); ----------->appel ajax2
}
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
21 juil. 2008 à 10:21
Re, j'ai l'impression que les informations de ta page mère ne se mettent à jour que lorsque cette dernière a le focus. Ca expliquerai pourquoi lorsque depuis la page fille tu essaie de récupérer les valeurs de ta liste, ces valeurs ne correspondent pas à celle souhaitées.

Juste pour voir si c'est effectivement du à ça, peut tu, au lieu de faire un alert("coucou"), donner le focus à ta fenetre mère, puis redonner le focus à la fenetre fille et ensuite seulement essayer de récupérer les valeurs de la liste et les afficher via ta popup ?
-1
benoitXV Messages postés 228 Date d'inscription lundi 2 juin 2008 Statut Membre Dernière intervention 24 mai 2022 17
21 juil. 2008 à 17:32
C'est pas bête, je vais testé...


Merci
0
benoitXV Messages postés 228 Date d'inscription lundi 2 juin 2008 Statut Membre Dernière intervention 24 mai 2022 17
22 juil. 2008 à 12:38
avec window.focus(); a la place de mon alert('toto');

ça ne fonctionne toujours pas, depuis la fenêtre mère.

Dommage...
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
22 juil. 2008 à 13:35
Bah écoute je vois pas trop. Sans le code je peux pas faire grand chose de plus :'(
Je ne peux te donner qu'un conseil, ce que je ferai : mettre des traces un peu partout pour voir ou passe le script avec quelle valeur afin d'essayer de comprendre ce qui pourrait entrainer ce disfonctionnement.

Bon courage ^^
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
benoitXV Messages postés 228 Date d'inscription lundi 2 juin 2008 Statut Membre Dernière intervention 24 mai 2022 17
22 juil. 2008 à 13:40
merci kij_82, dommage que ton idée n'ai pas fonctionnée.
0
benoitXV Messages postés 228 Date d'inscription lundi 2 juin 2008 Statut Membre Dernière intervention 24 mai 2022 17
23 juil. 2008 à 11:51
je viens de m'apercevoir qu'il y a un différence de comportement entre mozilla & opera.

Mon code (même avec alert("toto")) ne fonctionne que sous mozilla.
0