Page 1 sur 1
Valider un formulaire d'une page ouverte à partir d'un popup
Posté : 11 févr. 2005, 16:35
par Greg
Bonjour,
J'ai actuellement un petit soucis avec JavaScript pour valider un formulaire sur une page déjà ouverte, à partir d'un popup.
Sur ma page (qu'on va appeler traitement.php), j'ai un lien pour afficher un popup.
Dans ce popup, je construis un formulaire avec des champs de type "hidden" et j'afiche un bouton pour valider. Le problème, c'est que je ne sais pas quoi mettre comme valeur de l'attribut "target" de ma balise <form>.
J'ai bien une valeur retournée par "parent.document" dans mon popup, mais je ne sais pas trop quoi mettre après.
Quelqu'un aurait-il une petite idée ?
Posté : 11 févr. 2005, 18:55
par mere-teresa
Ben tu mets l'adresse absolue (depuis la racine du serveur) du script qui traite ton formulaire ?
Posté : 12 févr. 2005, 01:09
par crab
Hello
Regarde du coté de l'objet JavaScript opener.
Je suis pas sur d'avoir compris ton problème, mais si tu veux par exemple effectuer une action sur la page qui a "lancer" la popup il faut utiliser l'objet opener.
Petit exemple
Le code ci-dessus, executé depuis la popup est sensé envoyer le formulaire de la page "appelante"...
(Je crois que je suis a coté de la plaque...)
Mais dans tout les cas, je ne peux que te conseiller l'excellente référence (en tout cas c'est MA référence

HTML / Javascript =>
SELFHTML
D'ailleurs ce serait pas mal d'avoir quelques site de référence en Post-it sur ce forum, non ?
A+
Posté : 12 févr. 2005, 01:12
par Xenon_54
Référence Javascript (lorsque j'utilise le Javascript)
http://www.toutjavascript.com/reference/index.php

Posté : 12 févr. 2005, 01:21
par crab
ouais, c'est aussi une référence que j'utilise (mais j'ai un faible pour selfhtml... ça doit venir des heures passées dessus a découvrir le monde incroyable de l'HTML et du Javascript

)
Posté : 14 févr. 2005, 10:31
par Greg
Merci pour vos réponses.
J'ai cherché du coté de opener, mais je n'ai peut être pas réussi à l'utiliser comme je le souhaitais.
Par contre, on m'a répondu sur developpez.com que de mettre mon formulaire avec des champs "hidden" dans ma popup était une erreur de logique. J'aimerais bien savoir en quoi c'est plus logique de mettre mon formulaire dans ma page de traitement (on va l'appeler traitement.php) et de changer mes valeurs de champ via JavaScript et soumettre le formulaire par la même occasion. Pour info, mon formulaire de base n'est pas dans ma page traitement.php ... il vient lui aussi d'une page différente.
Posté : 14 févr. 2005, 16:13
par mere-teresa
En fait je ne comprends pas ton problème.
Quel est ce target que tu veux remplir ?
Et action ? Tu mets quoi comme action ?
Posté : 14 févr. 2005, 16:55
par Greg
Résumons:
J'ai une page appelée
traitement.php, qui est le résultat d'un formulaire présent sur une autre page.
Dans
traitement.php, je peux cliquer sur un lien qui ouvre une popup.
Dans cette popup, il y a un formulaire avec des champs cachés (hidden) et quand je valide le formulaire, je veux que le résultat soit affiché dans la fenêtre contenant
traitement.php.
Pour info, voici la déclaration de mon formulaire:
Code : Tout sélectionner
<form name="form_lim" action="/traitement.php" method="post" target="javascript:'window.opener.document'">
J'ai aussi essayé sans "javascript:", sans window, sans document, en inversant les bidules (mais en testant le tout pour voir si je n'obtenais pas une valeur NULL).
Bref, je pige pas tout ... il y aurait une bonne ame pour me dépanner de la réponse ou pour me remettre dans le droit chemin ?
Posté : 06 mars 2005, 12:13
par Patsy
Salut Greg,
Je rencontre actuellement le même problème que toi. As-tu réussi à trouver une solution ? Si oui, cela m'intéresse.
Patsy
Posté : 06 avr. 2005, 16:46
par Okiuy
Salut, je ne sais pas si vous avez résolu votre problème, mais j'ai un bout de solution :
Mettre le formulaire sur la page appelante :
Code : Tout sélectionner
<form name="suivre" method="POST" ACTION="toto.php">
<INPUT TYPE="hidden" NAME="mazone" value="">
</form>
Sur le popup, remplir les champs et appeler le formulaire :
Code : Tout sélectionner
<script>window.opener.document.suivre.mazone.value='mavaleur'</script>
<script>window.opener.document.suivre.submit()</script>
