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 :
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 :
window.opener.document.getElementById(sourceI).value = "<?php echo $date; ?>";
Merci à Florent d'HFR
Partager