Récuperer une variable en fermant une popup ?

Fermé
thomas - 4 janv. 2007 à 08:52
 testo - 7 juin 2010 à 10:05
Bonjour à tous, je suis en train de créer un formulaire, tout ce qu'il y a de plus basique.

Ce formulaire permet d'ajouter une news avec possibilité d'ajouter une photo.

J'ai donc tous mes <input type="..." />, puis un lien qui ouvre une popup dans laquelle j'affiche toutes les images envoyées sur le serveur afin de sélectionner l'image en rapport avec la news.

Ici tout se passe bien, j'ai dans ma popup donc la possibilité de sélectionner une image (<input type="radio" ... />), et un bouton valider pour valider l'image sélectionnée, ou annuler pour fermer la fenêtre.

Le problème est le suivant, comme faire passer de ma popup à mon formulaire l'image sélectionnée, pourriez-vous m'aider ou me mettre sur la voie svp ?

Vous en remerciant par avance,

Thomas

2 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
4 janv. 2007 à 12:09
Bonjour,

Voilà une solution.
Dans ton formulaire de ta page principale, il te faut une variable (cachée ou non) qui contienne l'identifiant de l'image. Au début, bien sûr, il vaut "".
Par exemple :
<input type="hidden" name="id_photo" id="id_photo" value="" />
Ensuite, dans le pop-up, tu peux accéderà la page d'origine, en javascript, par l'objet "opener".
J'imagine que sur ton bouton "valider", tu as, quelque part, un window.close(); . Eh bien, il suffit juste de le remplacer par
var valeur_image;
for (i=0; i<document.nomFormulaire.nomGroupeRadios.length; i++)
{
  if (document.nomFormulaire.nomGroupeRadios[i].checked)
  {
    valeur_image = document.nomFormulaire.nomGroupeRadios[i].value;
  }
}
opener.document.getElementById["id_photo"].value = valeur_image;
window.close();
Voilà, j'espère que cela résoud ton problème !

Xavier
1
....
opener.document.getElementById["id_photo"] ?????
....
c'est pas juste car getElementById est une fonction de javascript et pas un array
il faut mettre : opener.document.getElementById("id_photo")
0
Merci pour la réponse :)
0