Récupération de valeur [Résolu]

Signaler
Messages postés
36
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
17 février 2010
-
Messages postés
36
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
17 février 2010
-
Bonjour,

Voilà j'espère ne pas vous poser une colle  voiçi ma question :

J'ai une page (parent) qui ouvre une popup (blank).
Dans ma page parent j'ai un formulaire avec une zone de texte (ligne simple) où l'on ne peut pas ecrire (en readonly donc) ainsi que le lien permettant d'ouvrir la popup (blank).
Cette page est en PHP.

Dans ma popup (blank) j'ai une liste de choix possibles mais on ne peut en sélectionner qu'un par un bouton radio. Chaque bouton radio a une valeur que je lui ai assigné (Radio1, Radio2, Radio3, Radio4). En bas de cette page, un bouton pour fermer cette popup.
Cette page est en HTML.

Voilà donc ce que je souhaiterais, c'est que lorsque l'on valide un des boutons radio, sa valeur soit affichée directement dans la zone de texte sans que la popup ne soit fermée (elle est fermée manuellement). Bien entendu si l'on clique sur chacun des boutons radio un par un, il ne faut QUE la valeur du dernier bouton radio validé. Une fois le choix effectué, le visiteur clique sur le bouton de la popup pour la fermer et la valeur de son choix est affichée dans la zone de texte.
Il faudrait également que le choix d'un bouton radio ne recharge pas la page parente car d'autres données ont déjà été rentrées dans le formulaire de la page parente (qui contient d'autres champs hormis celui-ci).

Voilou donc si vous avez des idées sur ma question n'hésitez pas
PS : pas trop d'explications techniques je suis un amateur sans connaissances
Merci beaucoup d'avance..

19 réponses

Messages postés
450
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
18 avril 2007
2
<script>
function formules()
{
document.getElementById("menu").style.display="";
}


function variable(n)
{
var valeurs=["Formule Standard","Formule Avancée","Formule 80","Formule trance"];
document.getElementById("formule").value=valeurs[n];
document.getElementById("menu").style.display="none";
}
</script>


Formule choisie [javascript:formules(); [Voir les formules]]</td>



<label for="radio1">[] Selectionner la formule standard</label>

<label for="radio2">[] Selectionner la formule avancée</label>

<label for="radio3">[] Selectionner la formule spéciale années 80</label>

<label for="radio4">[] Selectionner la formule soirée trance</label>




<hr />



Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
Messages postés
450
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
18 avril 2007
2
Bonjour.
Dans ta popup, essaie window.parent.document.lenomdetonformulaire.lenomdetonchamp.value = document.lenomdetonformulairepopup.lenomdetalistedebouton[document.lenomdetonformulairepopup.lenomdetalistedebouton.selectedIndex].value
(enfin normalement selectedIndex c'est pour les listes déroulantes, mais peut-être que ça marche...)

<hr />Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
Messages postés
36
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
17 février 2010

Merci pour ta réponse stfou,

Seulement le problème des boutons radios c'est qu'il n'y a pas de nom de groupe comme les listes qui ont un nom de groupe et plusieurs valeurs dans ce groupe. Les boutons radio ont chacun une balise qui les délimite, par conséquent, impossible de renseigner "lenomdetalistedebouton".
J'ai un code similaire à celui-ci seulement je ne sais pas comment l'adapter avec des boutons radio plutôt qu'une liste déroulante.

Si tu as des idées ou d'autres personnes, n'hésitez pas, merci d'avance
Messages postés
36
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
17 février 2010

Hé bien aurais-je posé une colle à la communauté javascriptfr ?

Pour ceux qui n'auraient pas trop compris ce que je cherche à faire, voiçi l'exemple du site VBBreizh (qui me sert de base, très bon site) :

Communication entre fenêtres

Voilà je cherche à faire la même chose, excepté que la transmission de valeur ne s'effectuerait pas par un menu déroulant mais par un bouton radio, seulement je n'arrive pas à l'adapter..

Merci d'avance pour vos réponses
Messages postés
36
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
17 février 2010

Toujours personne n'a une idée sur le sujet ? Je désespère !
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,

    tu connais l'évênement à utiliser sur les radios ?       onclick ou onchange
    tu sais comment récupérer la value de ce radio ?       this.value
    tu connais comment s'adresser à un champ texte ?    document.name du formulaire.name de l'input text.value
                                                                               ou        document.getElementById("id de l'input text").value
    tu sais comment un pop-up accède à la page mère ?  window.opener.objet de la page mère

    tu as tout. si ça ne fonctionne pas, met nous un petit extrait de ce que tu fais.
    un petit extrait ! pas 268975 lignes et pas le php, le html générée.
    ( ça représente quoi... moins de 20 lignes tout compris à priori )

<hr />


Cordialement            Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
36
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
17 février 2010

Tout d'abord, merci pour ta réponse Bultez.
Donc en fait, j'ai créé une page de devis avec une zone de texte (parmis tant d'autres) où doit s'afficher le nom de la formule choisie. A côté de cette zone de texte, un lien permettant d'accéder à la fenêtre affichant toutes les formules possibles (cette fenêtre est appelée par un script window.open). Dans cette popup, quatre choix possibles, un bouton radio sous chaque choix. Voilà, après il faut juste que en cliquant sur un bouton radio, sa valeur soit affichée dans la zone de texte de la page parente..

Le script de la page parente :

[javascript:void(0); [Voir les formules]]

Le script de la popup (un exemple) :

<label for="radio1">[] Selectionner la formule standard</label>

Les ajouts du type rangee_choix_option sont en rapport avec un script qui permet de mettre en surbrillance la case du bouton radio sélectionné. Je ne pense pas qu'il y ai d'interférences à ce niveau là. Merci d'éclairer ma lanterne
Messages postés
450
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
18 avril 2007
2
C'est (par exemple si c'est le bouton n°4)
et dans la page parente :
function passevariable(v)
{
var valeurs=["Formule standart","formule 2","formule3 etc..."];
document.formule.value=valeurs[v];
}

<hr />Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
Messages postés
36
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
17 février 2010

Encore une fois, merci pour ton aide.

Cela ne fonctionne pas mais je sens que ca progresse tout de même.
Peut-être manque t-il un détail ?
Merci pour votre aide
Messages postés
36
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
17 février 2010

Le script fait au plus simple nous informe d'une erreur (au niveau de la popup)
"Cet objet ne gère pas cette propriété ou cette méthode"

Communication inter-window

Le zip du script se trouve sur cette page...
Merci d'avance pour votre aide
Messages postés
450
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
18 avril 2007
2
Euh, ça marche pas où ?

<hr />Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
Messages postés
36
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
17 février 2010

Je t'ai fait un zip si tu veux bien y jeter un coup d'oeil (voir page 1 de ce topic)
Il n'y a que le script et rien d'autre, de cette façon on y voit plus clair.
Merci encore de te pencher sur le sujet
Messages postés
450
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
18 avril 2007
2
C'est normal, un tableau Array commence a partir de zéro, tu dois donc mettre Formule standard avec 00 et tu décale tout de 1

<hr />Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
Messages postés
36
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
17 février 2010

Excuse moi je dois paraitre absolument ridicule mais pourrais-tu me corriger le script pour que cela fonctionne ? car je n'y arrive pas. Merci d'avance..
Messages postés
450
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
18 avril 2007
2
Aussi, plutôt que de mettre une fenetre, trouve des solutions alternatives par exemple un div qui s'ouvre en dessous :





<script>
function formule()
{
document.getElementById("menu").style.display="";
}

function variable(n)
{
var valeurs=["Formule Standard","Formule Avancée","Formule 80","Formule trance"];
document.formule.value=valeurs[n];
document.getElementById("menu").style.display="none";
}
</script>

Formule choisie [javascript:void(0); [Voir les formules]]</td>

<label for="radio1">[] Selectionner la formule standard</label>

<label for="radio2">[] Selectionner la formule avancée</label>

<label for="radio3">[] Selectionner la formule spéciale années 80</label>

<label for="radio4">[] Selectionner la formule soirée trance</label>






<hr />



Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
Messages postés
36
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
17 février 2010

Ca ne fonctionne toujours pas, je fini par croire que c'est impossible même sans la popup
Messages postés
450
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
18 avril 2007
2
Ou est-ce qu'il te met l'erreur ?

>>Peut-tu me corriger le script :
au lieu de passevariable(01) tu met >> passevariable(00)
passevariable(02) >> passevariable(01)
passevariable(03) >> passevariable(02)
passevariable(04) >> passevariable(03)

<hr />Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
Messages postés
36
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
17 février 2010

Mais le script fonctionne t-il chez toi ? Car pour moi rien à faire je ne comprend pas j'ai bien remplacé comme tu me l'a indiqué mais toujours rien dans la zone de texte ! Suis-je vraiment aussi nul que ça ? lol
Merci pour ton aide ^^
Messages postés
36
Date d'inscription
samedi 22 mai 2004
Statut
Membre
Dernière intervention
17 février 2010

Ah ca fonctionne enfin, je suis vraiment incompétant donc lol.
En tout cas merci beaucoup pour ton aide stfou, je n'y serais jamais arrivé seul.
Sur ce, bonne fin de journée