C'est probablement une question couillon et/ou déjà posée... mais impossible
de trouver ma réponse sur le site ou dans les forums...
Pis moi ma spécialité c'est les css, pas le javascript...
Voilà, dans mon back-office en php, j'ai une page qui affiche la liste des
utilisateurs, avec des liens sur chacun pour les modifier.
Chacun de ces liens ouvre une pop-up avec un formulaire reprenant le détail
de l'utilisateur, jusque là tout va bien (heureusement !)...
Pour l'instant, le formulaire recharge la page d'origine d'appel de la
pop-up (la liste des utilisateurs, donc) *dans* la pop-up et la page "du
dessous" ne change pas...
Donc je ferme ma pop-up à la main et je recharge ma page de liste... pas
très sexy !
Vous l'aurez compris, j'aurai simplement souhaité que le formulaire ferme la
pop-up et recharge la fenetre "mère" qui a lancé la pop-up...
Alors voilà, je m'en remets à votre bonne âme pour m'aider, parce que soit
c'est la fatigue soit la bétise mais je ne vois pas trop comment faire...
j'ai une vague idée qu'il faut que je fouille dans le
window.close('nom_de_ma_pop_up') mais où je le mets ? dans un OnSubmit dans
la balise form de la pop-up ?
Et pour recharger la page "parente", que dois-je mettre ? et où ? dois-je
donner un nom à ma fenetre parente dans le lien qui ouvre la pop-up (genre
window.name="" ou que sais-je) ??
J'ai vu des choses sur ce forum, notamment le message de réponse de ASM du
18/11 intitulé "Re: action dans une autre fenetre ?" mais je sais pas, j'ai
rien compris, lol ! :)
Bref, si vous voulez bien me filer un p'tit coup d'main j'pourrai éviter d'y
passer 3 jours ! :D
Merci d'avance !!
Fais des recherches, sur le mot "opener" ; ça pourrait être une piste.
ASM
J'ai vu des choses sur ce forum, notamment le message de réponse de ASM du 18/11 intitulé "Re: action dans une autre fenetre ?" mais je sais pas, j'ai rien compris, lol ! :)
Ben ça alors ! Je serions t-y pas clair ni concis ?
-- ******************************************************* Stéphane MORIAUX et son vieux Mac Aide Pages Perso (images & couleurs, formulaire, CHP) http://perso.wanadoo.fr/stephane.moriaux/internet/ *******************************************************
J'ai vu des choses sur ce forum, notamment le message de réponse de ASM du
18/11 intitulé "Re: action dans une autre fenetre ?" mais je sais pas, j'ai
rien compris, lol ! :)
Ben ça alors !
Je serions t-y pas clair ni concis ?
J'ai vu des choses sur ce forum, notamment le message de réponse de ASM du 18/11 intitulé "Re: action dans une autre fenetre ?" mais je sais pas, j'ai rien compris, lol ! :)
Ben ça alors ! Je serions t-y pas clair ni concis ?
-- ******************************************************* Stéphane MORIAUX et son vieux Mac Aide Pages Perso (images & couleurs, formulaire, CHP) http://perso.wanadoo.fr/stephane.moriaux/internet/ *******************************************************
Marie ALHOMME
ASM wrote:
J'ai vu des choses sur ce forum, notamment le message de réponse de ASM du 18/11 intitulé "Re: action dans une autre fenetre ?" mais je sais pas, j'ai rien compris, lol ! :)
Ben ça alors ! Je serions t-y pas clair ni concis ?
Bonjour !
Alors, déjà, merci de ton aide ! Je te rassure je suis sûre que tu es très clair, mais c'est moi qui le suis moins ;)
Ensuite, j'ai testé les deux méthodes et - dans la première ça m'ouvre une nouvelle fenetre - dans la deuxieme ça ne marche pas du tout
J'ai testé sous FF1.0PR et IE6, sous windows 2000...
J'espère que tu pourras m'aider un peu plus !
Bonne journée ! Marie
ASM wrote:
J'ai vu des choses sur ce forum, notamment le message de réponse de
ASM du 18/11 intitulé "Re: action dans une autre fenetre ?" mais je
sais pas, j'ai rien compris, lol ! :)
Ben ça alors !
Je serions t-y pas clair ni concis ?
Bonjour !
Alors, déjà, merci de ton aide !
Je te rassure je suis sûre que tu es très clair, mais c'est moi qui le suis
moins ;)
J'ai vu des choses sur ce forum, notamment le message de réponse de ASM du 18/11 intitulé "Re: action dans une autre fenetre ?" mais je sais pas, j'ai rien compris, lol ! :)
Ben ça alors ! Je serions t-y pas clair ni concis ?
Bonjour !
Alors, déjà, merci de ton aide ! Je te rassure je suis sûre que tu es très clair, mais c'est moi qui le suis moins ;)
Ensuite, j'ai testé les deux méthodes et - dans la première ça m'ouvre une nouvelle fenetre - dans la deuxieme ça ne marche pas du tout
J'ai testé sous FF1.0PR et IE6, sous windows 2000...
J'espère que tu pourras m'aider un peu plus !
Bonne journée ! Marie
Thibaut Allender
Ensuite, j'ai testé les deux méthodes et - dans la première ça m'ouvre une nouvelle fenetre - dans la deuxieme ça ne marche pas du tout
normalement il faut utiliser window.opener en javascript pour faire reference à la fenêtre qui a ouvert le popup dans un formulaire, c'est moins évident
je ne sais pas s'il existe un "target" faisant référence à window.opener
Ensuite, j'ai testé les deux méthodes et
- dans la première ça m'ouvre une nouvelle fenetre
- dans la deuxieme ça ne marche pas du tout
normalement il faut utiliser window.opener en javascript pour faire
reference à la fenêtre qui a ouvert le popup
dans un formulaire, c'est moins évident
je ne sais pas s'il existe un "target" faisant référence à window.opener
Ensuite, j'ai testé les deux méthodes et - dans la première ça m'ouvre une nouvelle fenetre - dans la deuxieme ça ne marche pas du tout
normalement il faut utiliser window.opener en javascript pour faire reference à la fenêtre qui a ouvert le popup dans un formulaire, c'est moins évident
je ne sais pas s'il existe un "target" faisant référence à window.opener
Ensuite, j'ai testé les deux méthodes et - dans la première ça m'ouvre une nouvelle fenetre - dans la deuxieme ça ne marche pas du tout
normalement il faut utiliser window.opener en javascript pour faire reference à la fenêtre qui a ouvert le popup dans un formulaire, c'est moins évident
je ne sais pas s'il existe un "target" faisant référence à window.opener Je ne pense pas que celà soit possible dans la mesure ou le target est
un attribut d'une balise HTML
dans ton formulaire, tu ajoutes un événement onclick sur ton bouton (ou image) de validation qui appelle window.opener.rechargerpagemère()
Cette fonction rechargerpagemère() doit se trouver sur la page mère.
Tu peux prendre en compte l'événement onUnload dans ta balise body pour appeller la même fonction avec un paramètre qui indique que l'opération est annulée.
Bon courage :)
Ensuite, j'ai testé les deux méthodes et
- dans la première ça m'ouvre une nouvelle fenetre
- dans la deuxieme ça ne marche pas du tout
normalement il faut utiliser window.opener en javascript pour faire
reference à la fenêtre qui a ouvert le popup
dans un formulaire, c'est moins évident
je ne sais pas s'il existe un "target" faisant référence à window.opener
Je ne pense pas que celà soit possible dans la mesure ou le target est
un attribut d'une balise HTML
dans ton formulaire, tu ajoutes un événement onclick sur ton bouton (ou
image) de validation qui appelle window.opener.rechargerpagemère()
Cette fonction rechargerpagemère() doit se trouver sur la page mère.
Tu peux prendre en compte l'événement onUnload dans ta balise body pour
appeller la même fonction avec un paramètre qui indique que l'opération
est annulée.
Ensuite, j'ai testé les deux méthodes et - dans la première ça m'ouvre une nouvelle fenetre - dans la deuxieme ça ne marche pas du tout
normalement il faut utiliser window.opener en javascript pour faire reference à la fenêtre qui a ouvert le popup dans un formulaire, c'est moins évident
je ne sais pas s'il existe un "target" faisant référence à window.opener Je ne pense pas que celà soit possible dans la mesure ou le target est
un attribut d'une balise HTML
dans ton formulaire, tu ajoutes un événement onclick sur ton bouton (ou image) de validation qui appelle window.opener.rechargerpagemère()
Cette fonction rechargerpagemère() doit se trouver sur la page mère.
Tu peux prendre en compte l'événement onUnload dans ta balise body pour appeller la même fonction avec un paramètre qui indique que l'opération est annulée.
Bon courage :)
Marie ALHOMME
Re-,
Démosthene wrote:
dans ton formulaire, tu ajoutes un événement onclick sur ton bouton (ou image) de validation qui appelle window.opener.rechargerpagemère()
Cette fonction rechargerpagemère() doit se trouver sur la page mère.
ouiiiii... alors j'étais pas bien sûr de la fonction en question, j'ai fait quelque chose comme çà, qui se trouve sur les deux pages (ouvrante et ouverte) <script> function f_origine(lien) { opener.document.location='utilisateurs.php'; } </script> et je pense que ça marche en partie car ça me recharge ma page... par contre du coup mon enregistrement en bdd se fait pas, et ça je sais pas pourquoi, et donc ça recharge la page mais sans faire de modif réellement... Je sais pas si c'est très clair ?? (surement pas beaucoup vu qu'en plus j'ai pas monté tout le php et je ne suis pas encore une pro...) Le bouton submit dans ma pop-up est présenté comme suit : <input type="submit" name="submit" value="Enregistrer" size="30"> j'ai essayé le onclick dedans, mais je l'ai peut-etre mal rédigé... Toujours est-il qu'avec ça enregistre pas et sans ça enregistre...
Ais-je précisé que j'étais une bille en javascript ?? :)
Tu peux prendre en compte l'événement onUnload dans ta balise body pour appeller la même fonction avec un paramètre qui indique que l'opération est annulée.
Oui alors là j'ai pas compris grand-chose... :)
Bon courage :)
Hmmm, je sens qu'il va m'en falloir... bon, un p'tit alka et on repart ! :)
merci encore !
marie
Re-,
Démosthene wrote:
dans ton formulaire, tu ajoutes un événement onclick sur ton bouton
(ou image) de validation qui appelle window.opener.rechargerpagemère()
Cette fonction rechargerpagemère() doit se trouver sur la page mère.
ouiiiii... alors j'étais pas bien sûr de la fonction en question, j'ai fait
quelque chose comme çà, qui se trouve sur les deux pages (ouvrante et
ouverte)
<script>
function f_origine(lien)
{
opener.document.location='utilisateurs.php';
}
</script>
et je pense que ça marche en partie car ça me recharge ma page... par contre
du coup mon enregistrement en bdd se fait pas, et ça je sais pas pourquoi,
et donc ça recharge la page mais sans faire de modif réellement...
Je sais pas si c'est très clair ?? (surement pas beaucoup vu qu'en plus j'ai
pas monté tout le php et je ne suis pas encore une pro...)
Le bouton submit dans ma pop-up est présenté comme suit :
<input type="submit" name="submit" value="Enregistrer" size="30">
j'ai essayé le onclick dedans, mais je l'ai peut-etre mal rédigé...
Toujours est-il qu'avec ça enregistre pas et sans ça enregistre...
Ais-je précisé que j'étais une bille en javascript ?? :)
Tu peux prendre en compte l'événement onUnload dans ta balise body
pour appeller la même fonction avec un paramètre qui indique que
l'opération est annulée.
Oui alors là j'ai pas compris grand-chose... :)
Bon courage :)
Hmmm, je sens qu'il va m'en falloir... bon, un p'tit alka et on repart ! :)
dans ton formulaire, tu ajoutes un événement onclick sur ton bouton (ou image) de validation qui appelle window.opener.rechargerpagemère()
Cette fonction rechargerpagemère() doit se trouver sur la page mère.
ouiiiii... alors j'étais pas bien sûr de la fonction en question, j'ai fait quelque chose comme çà, qui se trouve sur les deux pages (ouvrante et ouverte) <script> function f_origine(lien) { opener.document.location='utilisateurs.php'; } </script> et je pense que ça marche en partie car ça me recharge ma page... par contre du coup mon enregistrement en bdd se fait pas, et ça je sais pas pourquoi, et donc ça recharge la page mais sans faire de modif réellement... Je sais pas si c'est très clair ?? (surement pas beaucoup vu qu'en plus j'ai pas monté tout le php et je ne suis pas encore une pro...) Le bouton submit dans ma pop-up est présenté comme suit : <input type="submit" name="submit" value="Enregistrer" size="30"> j'ai essayé le onclick dedans, mais je l'ai peut-etre mal rédigé... Toujours est-il qu'avec ça enregistre pas et sans ça enregistre...
Ais-je précisé que j'étais une bille en javascript ?? :)
Tu peux prendre en compte l'événement onUnload dans ta balise body pour appeller la même fonction avec un paramètre qui indique que l'opération est annulée.
Oui alors là j'ai pas compris grand-chose... :)
Bon courage :)
Hmmm, je sens qu'il va m'en falloir... bon, un p'tit alka et on repart ! :)
merci encore !
marie
Thibaut Allender
opener.document.location='utilisateurs.php';
et je pense que ça marche en partie car ça me recharge ma page... par contre du coup mon enregistrement en bdd se fait pas, et ça je sais pas pourquoi, et donc ça recharge la page mais sans faire de modif réellement...
normal vu que tu ne fais que recharger la page et pas lui soumettre les données du formulaire il faudrait reconstituer une url en GET à l'aide des données, du genre :
et je pense que ça marche en partie car ça me recharge ma page... par contre
du coup mon enregistrement en bdd se fait pas, et ça je sais pas pourquoi,
et donc ça recharge la page mais sans faire de modif réellement...
normal vu que tu ne fais que recharger la page et pas lui soumettre les
données du formulaire
il faudrait reconstituer une url en GET à l'aide des données, du genre :
et je pense que ça marche en partie car ça me recharge ma page... par contre du coup mon enregistrement en bdd se fait pas, et ça je sais pas pourquoi, et donc ça recharge la page mais sans faire de modif réellement...
normal vu que tu ne fais que recharger la page et pas lui soumettre les données du formulaire il faudrait reconstituer une url en GET à l'aide des données, du genre :
Je ne réponds pas dans l'enfilade, puisque j'apporte un autre point de vue.
Vous l'aurez compris, j'aurai simplement souhaité que le formulaire ferme la pop-up et recharge la fenetre "mère" qui a lancé la pop-up...
Bien entendu, il faut utiliser l'attribut target de la balise <form> dans la popup. Pour cela il faut que la fenêtre "mère" ait un nom !
Donc dans un script de la fenêtre mère : window.name="theOpener"; //ou n'importe quel nom à réutiliser dans le popup...
dans le popup <form id="..." action="..." method="..." target="theOpener" onsubmit="return true, setTimeout('self.close()',50);">
L'attribut onsubmit va valider le formulaire (return true) puis fermer le popup peu après (la temporisation me semble nécessaire pour que la fenêtre ne soit pas fermée avant que les données du formulaire aient été transmises - le 50 à modifier si trop court...)
Si entre-temps la fenêtre mère a été fermée une autre s'ouvrira.
-- Y.D.
Je ne réponds pas dans l'enfilade, puisque j'apporte un autre point de vue.
Vous l'aurez compris, j'aurai simplement souhaité que le formulaire ferme la
pop-up et recharge la fenetre "mère" qui a lancé la pop-up...
Bien entendu, il faut utiliser l'attribut target de la balise <form> dans la
popup. Pour cela il faut que la fenêtre "mère" ait un nom !
Donc dans un script de la fenêtre mère :
window.name="theOpener"; //ou n'importe quel nom à réutiliser dans le popup...
dans le popup
<form id="..." action="..." method="..." target="theOpener"
onsubmit="return true, setTimeout('self.close()',50);">
L'attribut onsubmit va valider le formulaire (return true)
puis fermer le popup peu après (la temporisation me semble nécessaire
pour que la fenêtre ne soit pas fermée avant que les données du
formulaire aient été transmises - le 50 à modifier si trop court...)
Si entre-temps la fenêtre mère a été fermée une autre s'ouvrira.
Je ne réponds pas dans l'enfilade, puisque j'apporte un autre point de vue.
Vous l'aurez compris, j'aurai simplement souhaité que le formulaire ferme la pop-up et recharge la fenetre "mère" qui a lancé la pop-up...
Bien entendu, il faut utiliser l'attribut target de la balise <form> dans la popup. Pour cela il faut que la fenêtre "mère" ait un nom !
Donc dans un script de la fenêtre mère : window.name="theOpener"; //ou n'importe quel nom à réutiliser dans le popup...
dans le popup <form id="..." action="..." method="..." target="theOpener" onsubmit="return true, setTimeout('self.close()',50);">
L'attribut onsubmit va valider le formulaire (return true) puis fermer le popup peu après (la temporisation me semble nécessaire pour que la fenêtre ne soit pas fermée avant que les données du formulaire aient été transmises - le 50 à modifier si trop court...)
Si entre-temps la fenêtre mère a été fermée une autre s'ouvrira.
-- Y.D.
Démosthene
opener.document.location='utilisateurs.php';
et je pense que ça marche en partie car ça me recharge ma page... par contre du coup mon enregistrement en bdd se fait pas, et ça je sais pas pourquoi, et donc ça recharge la page mais sans faire de modif réellement...
normal vu que tu ne fais que recharger la page et pas lui soumettre les données du formulaire il faudrait reconstituer une url en GET à l'aide des données, du genre :
J'ai pas bien compris ta problématique peut-être ?
Qu'as-tu exactement ? Ou est le formulaire à valider mère ou fille ? Qui fait quoi ?
Je pose ces questions parceque la popup peut valider un formulaire dans la fenètre mère ou vice versa.
Démosthène ;)
opener.document.location='utilisateurs.php';
et je pense que ça marche en partie car ça me recharge ma page... par
contre
du coup mon enregistrement en bdd se fait pas, et ça je sais pas
pourquoi,
et donc ça recharge la page mais sans faire de modif réellement...
normal vu que tu ne fais que recharger la page et pas lui soumettre les
données du formulaire
il faudrait reconstituer une url en GET à l'aide des données, du genre :
et je pense que ça marche en partie car ça me recharge ma page... par contre du coup mon enregistrement en bdd se fait pas, et ça je sais pas pourquoi, et donc ça recharge la page mais sans faire de modif réellement...
normal vu que tu ne fais que recharger la page et pas lui soumettre les données du formulaire il faudrait reconstituer une url en GET à l'aide des données, du genre :
J'ai pas bien compris ta problématique peut-être ?
Qu'as-tu exactement ? Ou est le formulaire à valider mère ou fille ? Qui fait quoi ?
Je pose ces questions parceque la popup peut valider un formulaire dans la fenètre mère ou vice versa.
Démosthène ;)
Marie ALHOMME
Bonjour !
YD wrote:
Je ne réponds pas dans l'enfilade, puisque j'apporte un autre point de vue.
Bien entendu, il faut utiliser l'attribut target de la balise <form> dans la popup. Pour cela il faut que la fenêtre "mère" ait un nom !
Donc dans un script de la fenêtre mère : window.name="theOpener"; //ou n'importe quel nom à réutiliser dans le popup...
dans le popup <form id="..." action="..." method="..." target="theOpener" onsubmit="return true, setTimeout('self.close()',50);">
L'attribut onsubmit va valider le formulaire (return true) puis fermer le popup peu après (la temporisation me semble nécessaire pour que la fenêtre ne soit pas fermée avant que les données du formulaire aient été transmises - le 50 à modifier si trop court...)
Si entre-temps la fenêtre mère a été fermée une autre s'ouvrira.
...et quel point de vue !! :)
Youpi-dou-da ça marche ! Après les 150 tests de ce matin, ça fait plaisir...
Bref, super merci beaucoup !! :)
Marie
Bonjour !
YD wrote:
Je ne réponds pas dans l'enfilade, puisque j'apporte un autre point
de vue.
Bien entendu, il faut utiliser l'attribut target de la balise <form>
dans la popup. Pour cela il faut que la fenêtre "mère" ait un nom !
Donc dans un script de la fenêtre mère :
window.name="theOpener"; //ou n'importe quel nom à réutiliser dans le
popup...
dans le popup
<form id="..." action="..." method="..." target="theOpener"
onsubmit="return true, setTimeout('self.close()',50);">
L'attribut onsubmit va valider le formulaire (return true)
puis fermer le popup peu après (la temporisation me semble nécessaire
pour que la fenêtre ne soit pas fermée avant que les données du
formulaire aient été transmises - le 50 à modifier si trop court...)
Si entre-temps la fenêtre mère a été fermée une autre s'ouvrira.
...et quel point de vue !! :)
Youpi-dou-da ça marche !
Après les 150 tests de ce matin, ça fait plaisir...
Je ne réponds pas dans l'enfilade, puisque j'apporte un autre point de vue.
Bien entendu, il faut utiliser l'attribut target de la balise <form> dans la popup. Pour cela il faut que la fenêtre "mère" ait un nom !
Donc dans un script de la fenêtre mère : window.name="theOpener"; //ou n'importe quel nom à réutiliser dans le popup...
dans le popup <form id="..." action="..." method="..." target="theOpener" onsubmit="return true, setTimeout('self.close()',50);">
L'attribut onsubmit va valider le formulaire (return true) puis fermer le popup peu après (la temporisation me semble nécessaire pour que la fenêtre ne soit pas fermée avant que les données du formulaire aient été transmises - le 50 à modifier si trop court...)
Si entre-temps la fenêtre mère a été fermée une autre s'ouvrira.
...et quel point de vue !! :)
Youpi-dou-da ça marche ! Après les 150 tests de ce matin, ça fait plaisir...