Bonjour,

Je cherche à passer une variable dans un window.opener. Le contexte : j'ai plusieurs pages qui appellent une popup unique, et celle-ci renvoie une variable en fonction de la page appelante.

Voici ce que j'ai pour l'instant :

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
19
20
 
<script language="JavaScript" type="text/javascript">
	var page = String(window.opener.document.title); // on récupère le nom de la page appelante
	//DEBUG : 
	//alert("Page : " + page);
	if (page == 'New Action')
	{
		var champ = 'action_date';
		alert("window.opener.document.forms[0]." + champ + ".type = \"text\";");
		alert("window.opener.document.forms[0]." + champ + ".value = \"<?php echo $date; ?>\";");
	}
	else if (page == 'IRD')
	{
		var champ = 'activiteDate';
		alert("window.opener.document.forms[0]." + champ + ".type = \"text\";");
		alert("window.opener.document.forms[0]." + champ + ".value = \"<?php echo $date; ?>\";");
	}
 
	window.opener.focus();
</script>
L'alert() affiche bien les lignes window.opener..., les valeurs sont correctes, que ce soit le javascript ou le php.

Seulement je ne sais pas comment les exécuter, quelle est la syntaxe pour afficher mon champ (ici en rouge) :
window.opener.document.forms[0].champ.type = "text";

J'ai aussi essayé avec un :
document.write("window.opener.document.forms[0]." + champ + ".type = \"text\";");
mais forcément cela m'écrit la commande dans la popup.

Je suis plutôt débutant en JS, je ne sais pas si c'est possible de faire passer cette variable, et si oui comment.

Merci d'avance pour votre aide

Edit 27/10 : résolu
Il fallait mettre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
window.opener.document.getElementById(sourceI).value = "<?php echo $date; ?>";
Merci à Florent d'HFR