Valider un formulaire d'une page ouverte à partir d'un popup

Eléphant du PHP | 479 Messages

11 févr. 2005, 16:35

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 ?

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

11 févr. 2005, 18:55

Ben tu mets l'adresse absolue (depuis la racine du serveur) du script qui traite ton formulaire ?
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphant du PHP | 67 Messages

12 févr. 2005, 01:09

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

Code : Tout sélectionner

opener.document.UnFormulaire.submit();
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+

Mammouth du PHP | 1885 Messages

12 févr. 2005, 01:12

Référence Javascript (lorsque j'utilise le Javascript)
http://www.toutjavascript.com/reference/index.php

;)
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Eléphant du PHP | 67 Messages

12 févr. 2005, 01:21

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 ;-) )

Eléphant du PHP | 479 Messages

14 févr. 2005, 10:31

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.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

14 févr. 2005, 16:13

En fait je ne comprends pas ton problème.
Quel est ce target que tu veux remplir ?
Et action ? Tu mets quoi comme action ?
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphant du PHP | 479 Messages

14 févr. 2005, 16:55

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 ?

Patsy
Invité n'ayant pas de compte PHPfrance

06 mars 2005, 12:13

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

Petit nouveau ! | 1 Messages

06 avr. 2005, 16:46

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>
:wink: