Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/06/2011, 13h42   #1
Membre à l'essai
 
Inscription : septembre 2008
Messages : 88
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 88
Points : 24
Points : 24
Par défaut récupération et traitement variable issu d'un popup

Bonjour,

Merci de m'aider pour cette partie de code.
J'ai une page principale à partir de laquelle je souhaite déclencher une série d'action sur événement onclick dans la page 1
Action 1 : ouverture d'un popup pour sélectionner un destinataire.
Action 2 : envoyer le mail.
Action 3 : rafraichir la page.

Page 1 : (extrait de code)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
...
<SCRIPT type="text/JavaScript">
function OuvrirPopup(page) 
{
 var width  = 300;
 var height = 200;
 var left   = (screen.width  - width)/2;
 var top    = (screen.height - height)/2;
 var params = 'width='+width+', height='+height;
 params += ', top='+top+', left='+left;
 params += ', directories=no';
 params += ', location=no';
 params += ', menubar=no';
 params += ', resizable=no';
 params += ', scrollbars=no';
 params += ', status=no';
 params += ', toolbar=no';
 nom = 'Destinataire de la NDF';
 window.open(page,nom,params);
}
</script>
...
...
<td align="left" valign="top" style="border:1px #C0C0C0 solid;height:8px;"><div align="center"><img border="0" width="20px" height="20px" alt="mail" src="images/mail.png" title="Envoyer ce document" onclick="OuvrirPopup(\'ndf_choix_resp.html\');)"></div></td>
<input id="choix" type="hidden">
Page 2 : popup

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<SCRIPT language="javascript">
 
function Reporter(elem) 
{
var report_resp = document.getElementById('resp').options[document.getElementById('resp').selectedIndex].value;
var choix = document.getElementById('resp').options[document.getElementById('resp').selectedIndex].value;
    window.opener.document.getElementById('choix').value = choix;
}
</SCRIPT>
</head>
<body>
<div id="wb_Form1" style="position:absolute;background-color:#F0F0F0;left:9px;top:24px;width:250px;height:138px;z-index:14">
 
<div id="wb_Text8" style="margin:0;padding:0;position:absolute;left:2px;top:43px;width:137px;height:16px;text-align:left;z-index:1;">
<font style="font-size:13px" color="#000000" face="Arial">Responsable</font></div>
<div style="position:absolute;left:3px;top:63px;width:200px;height:20px;border:1px #C0C0C0 solid;z-index:2">
<select  onchange="Reporter(this);" name="resp" size="1" id="resp" style="position:absolute;left:0px;top:0px;width:100%;height:100%;border-width:0px;font-family:Courier New;font-size:13px;" tabindex="2" title="Sélection du responsable">
<option selected value="Moi@moi.com">Moi</option>
<option value="Lui@lui.com">Lui</option>
<option value="toi@toi.com">Toi</option>
</select>
Je parviens parfaitement à récupérer la variable issue du popup dans le input id="choix".

Mais ce n'est pas ce que je veux faire.
Ce que je souhaiterais, c'est enchainé sur une autre action (fonction mail) en utilisant cette variable javascript puis refresh de la page 1.
Je vous remercie de votre aide.
Antherak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 14h35   #2
Membre habitué
 
Inscription : octobre 2009
Messages : 122
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 122
Points : 116
Points : 116
Bonjour,

ton popup peut également accéder aux méthodes de l'opener. Après avoir copié le contenu de ton select, appelle une méthode écrite dans l'opener qui envoi le mail et qui se recharge après.
bewidia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 14h56   #3
Membre à l'essai
 
Inscription : septembre 2008
Messages : 88
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 88
Points : 24
Points : 24
Citation:
Envoyé par bewidia Voir le message
Bonjour,

ton popup peut également accéder aux méthodes de l'opener. Après avoir copié le contenu de ton select, appelle une méthode écrite dans l'opener qui envoi le mail et qui se recharge après.
Merci de la tentative d'aide mais je n'ai rien compris !!
Antherak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 14h59   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 803
Points : 35 803
JavaScript ne sait pas envoyer de mail.
Tu devras par exemple passer par un formulaire. Lorsque tu récupères la valeur, tu en modifies la propriété action en lui attribuant un mailto puis tu fais un submit du formulaire.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 15h10   #5
Membre habitué
 
Inscription : octobre 2009
Messages : 122
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 122
Points : 116
Points : 116
Citation:
Envoyé par Antherak Voir le message
Merci de la tentative d'aide mais je n'ai rien compris !!
L'opener, c'est la fenêtre qui ouvre le popup. Tu y fais déjà référence dans ton code javascript puisque tu dis que le contenu du ton select se retrouve dans la fenêtre principale ...

Tu peux donc écrire une fonction JS dans ta fenêtre principale, genre maFonctionBidule() et l'appeller depuis ton popup en faisant un window.opener.maFonctionBidule()
bewidia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 18h31   #6
Membre à l'essai
 
Inscription : septembre 2008
Messages : 88
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 88
Points : 24
Points : 24
Par défaut Hmm

Merci de votre aide.

Je n'ai jamais écrit que je voulais utiliser javascript pour envoyer de mail.

Je compte créer une page mail.php qui se servirait de la variable javascript récupérer dans l'explication plus haut.

Ce que je souhaiterais savoir c'est comment ?

Dans la page 1 :
J'ai un script qui se déclenche sur onclick, ça ouvre un popup qui demande de choisir à qui envoyer le mail. (à la limite je pourrais très bien envoyer le mail depuis le popup etc ...) mais en fait je récupère la variable adresse email pour la mettre dans la page principale. pourquoi pas ?

Ma question est : comment enchainer depuis cette page principale les actions;

onclick : popup choix email, récupération de l'email, envoi mail, refresh page

Merci
Antherak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 08h41   #7
Membre habitué
 
Inscription : octobre 2009
Messages : 122
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 122
Points : 116
Points : 116
Citation:
Envoyé par Antherak Voir le message

Ma question est : comment enchainer depuis cette page principale les actions;

onclick : popup choix email, récupération de l'email, envoi mail, refresh page
Comme précisé plus haut, ta page principale contiendra une fonction JS maFonctionBidule() qui appellera ta page mail.php en passant les paramètres voulus et cette fonction maFonctionBidule() sera appellée par le popup avec window.opener.maFonctionBidule()
bewidia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 08h49   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 017
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 017
Points : 45 106
Points : 45 106
Il y a dans les contribution javascript un post sur les communications entre mère et filles ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 14h09   #9
Membre à l'essai
 
Inscription : septembre 2008
Messages : 88
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 88
Points : 24
Points : 24
Par défaut Suite

Bonjour,

Je dois mal m'exprimer car les réponses (à part celle de bewidia) ne répondent pas du tout à la demande d'aide.
Pour la communication entre mère et fille, j'ai montré dans le script que j'ai posté que je savais récupérer la donnée choisie dans le popup.

Admettons que j'ai créé un script pour la fonction mail !

Quelle est la syntaxe précise que je dois untiliser dans le onclick="???"

pour enchainer les actions dont j'ai besoin

ouverture popup (choix), récupération de la donnée, enchainement sur la fonction mail en utilisant cette donnée, et refresh de la page
Antherak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 14h17   #10
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 017
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 017
Points : 45 106
Points : 45 106
Ha!

Tu cherches le point virgule sur ton clavier ?
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 01
Vieux 07/06/2011, 14h50   #11
Membre à l'essai
 
Inscription : septembre 2008
Messages : 88
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 88
Points : 24
Points : 24
Citation:
Envoyé par SpaceFrog Voir le message
Ha!

Tu cherches le point virgule sur ton clavier ?
Non !

Mais je trouve cette réponse très moqueuse.
Antherak : 21 points
SpaceFrog : 37572 points

Ce que je cherche c'est de l'aide et je pensais en trouver sur ce forum.

Je ne suis pas programmeur ou web designer ou informaticien donc j'ai un peu de mal à comprendre les explications données.
Un petit exemple de ce que je dois mettre dans le onclick pour récupérer la donnée issue du popup et la renvoyer dans ma fonction mail, puis refresh de la page m'aurait suffit.
Tant pis et merci quand même, bonne journée à vous tous et désolé pour le dérangement.
Antherak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 14h59   #12
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 017
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 017
Points : 45 106
Points : 45 106
Oulà succeptible le mossieur ...

Tu as principalement un souci de chronologie et d'instanciation
car à moins de mettre en place un système de routage avec un setInterval qui va vérifier le moment ou ton input va se renseigner (après ouverture du popup), ton enchainement de fonction risque fort d'être trop rapide, la popup n'ayant pas eu le temps de s'ouvrir ...

Je ne saurais trop te conseiller d'oublier le principe de la popup et de passer par un ajax (xmlhttprequest) soit en pur js soit au moyen d'une librairie comme jquery afin de pouvoir converser avec les serveur et récupérer des informations distantes.
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h00.


 
 
 
 
Partenaires

Hébergement Web