Page 1 sur 1

transmettre donnée vers popup

Posté : 02 avr. 2008, 11:41
par karenma
bonjour
je voudrais que les données d'un formulaire soient transmises à une autre page confirmation
mais quand je transforme cette page confirmation en popup les données ne sont plus transmises


page 1

Code : Tout sélectionner

<SCRIPT language="javascript"> function ouvre_popup(page) { window.open(page,"nom_popup","menubar=yes, status=yes, scrollbars=yes, menubar=yes, width=520, height=200,left=215, top=330"); } </SCRIPT> </head> <body> <form id="form1" name="form1" method="post" action=" javascript:ouvre_popup('confirmation.php ' )"> <input name="essai" type="text" id="essai" /> <input type="submit" name="Submit" value="Envoyer" /> </form>
et sur la page confirmation je n'arrive pas à récupérer la valeur de essai

Pourquoi quelqu'un a t il une idée merci d'avance pur votre aide

Posté : 02 avr. 2008, 11:46
par Ryle
Pour le pourquoi, c'est simplement parce que les données sont envoyée à l'url spécifiée dans l'attribut action du formulaire. Or toi, tu fais appel à une fonction js pour ouvrir une popup sans aucun rapport avec ton formulaire...

Il te faut soit ouvrir une nouvelle fenêtre (et pas une popup) avec un target="_blank" dans ton formulaire, soit que ta fonction javascript récupères les données de ton formulaire et les passe en get dans l'url de la page qu'elle ouvre...

transmettre données dans pop up

Posté : 02 avr. 2008, 14:03
par karen
bonjour
mais si j'ouvre une page en blank est ce que je peux imposer une longueur et une hauteur pour cette page qui s'ouvre et faire en sorte qu'elle soit petite

Posté : 02 avr. 2008, 14:39
par caroube
Voici comment j'ai résolu ce genre de problème
<script>
function validate () {
  nom = document.frm_saisie.nom.value; // ou nom = document.getElementById('nom').value
  nom = encodeURIComponent(nom);
  prenom = document.frm_saisie.prenom.value;
  prenom = encodeURIComponent(prenom);
  wind = window.open('popup.php?nom='+nom+'&prenom='+prenom,
           'name','toolbar=0,location=0,directories=0,status=0,scrollbars=0,'+ //EDIT : Correction de l'erreur
           'resizable=1,copyhistory=0,menuBar=0,width=200,height=100');        //signalée par Ryle
  wind.focus();
}
</script>
<form name="frm_saisie">
  <input name="nom" id="nom" type="text" width="30"><br>
  <input name="prenom" id="prenom" type="text" width="30"><br>
  <input type=button value='Valider' onClick='validate();'>
</form>
Attention, comme c'est du passage en GET, la longueur est forcément limitée. Si tu veux les passer en POST, il faut regarder du côté de ce script

problème pop up

Posté : 02 avr. 2008, 20:09
par karenma
bonjour
j'ai essayé ce que tu m'as dit mais rien ne se passe
il n'y a même pas le pop up qui s'ouvre
comment faire merci d'avance pour votre aide

Posté : 03 avr. 2008, 01:05
par Ryle
Peut être que l'erreur javascript que tu obtiens et que tu as oublié de mentionner ou de contrôler joue un rôle dans le fait que ta popup ne s'ouvre pas.... :roll:

Javascript n'aime pas les retours à la ligne au milieu d'une chaine de caractères :wink:

merci

Posté : 03 avr. 2008, 16:27
par karenma
bonjour
j'ai supprimé wind.focus(); et ça a marché
Merci à tous

Posté : 03 avr. 2008, 17:11
par caroube
Javascript n'aime pas les retours à la ligne au milieu d'une chaine de caractères :wink:
Exact. Errreur de ma part pour faire de la mise en page pour le site.

C'est bizarre que le wind.focus() ne fonctionne pas ...