Rechercher : dans
Par :

Pop-up, Javascript, formulaire, onClick,...

Dernière réponse le 5 sep 2003 à 01:25:51 Wam, le 22 mai 2003 à 11:44:28 
 Signaler ce message aux modérateurs

Bonjour,
voila, j'ai un petit probleme, non, en fait 2 !

Le premier, c'est pour fermer un pop-up :
<A HREF=# onClick=\"window.opener.location.href='visit.php?identifier=$identifier&description=$description';return(true); \" >

Je voulais savoir comment fermer mon pop-up a partir de ce lien ?

Au fait, tout ca c'est dans du php.

Mon deuxieme probleme, c'est que sur ma page principale, j'ai un formulaire. Apres l'avoir rempli, l'utilisateur doit cliquer sur le bouton pour ouvrir le pop-up et aller chercher la description qui vient du lien.

Le probleme : le lien raffraichi ma page principale et je perd tte les donnees du formulaire rempli. Comment faire pour ne pas les perdre ?

Merci d'avance

Meilleures réponses pour « Pop up, Javascript, formulaire, onClick,... » dans :
Le blocage des pop-up dans Google Toolbar VoirVider le compteur de fenêtres pop-up La barre d'outils Google Toolbar n'enregistre pas les fenêtres pop-up qui ont été bloquées sur l'ordinateur. Il n'est donc pas indispensable de remettre à zéro ce compteur de fenêtres pop-up. Toutefois, il est...

1

Wam, le 29 mai 2003 à 12:17:02

En fait, je vais me repondre a moi meme car j'ai avancer un peu.

Pour fermer le pop-up, j'ai simplement changer le lien comme ceci :
<A HREF=# onClick=\"window.opener.location.href='visit.php?identifier=$identifier&description=$description'; window.close(); return(true) \" >

Mais sinon, j'ai toujours un probleme pour passer des variables php dans une fonction Javascript.
Je vous donne un bout de code.

Voici l'appel de la fonction avec le formulaire en parametre et une variable php definie plus haut dans ma page php


<input type=\"button\" value=\" Choose \"
onClick=\"javascript:openPopUP(this.form, '$identifier')\">



Ici, c'est la definition de la fonction que je met entre les balises <head> de ma page.

function openPopUP(visit_form, identifier)
{
var url='diag.php?identifier=".$identifier."&school='+visit_form.school.option+'&lab='+visit_form.lab.value+'&comment='+visit_form.comment.value+'';

window.open(url, 'Seizures', 'top=150, left=250, width=500, height=300, scrollbars=yes');

}


En fait, la valeur de "coment" est donnee sur la page diag.php, comme je lui est demander, c'est un textarea.

Pour 'school', c'est un select d'option, mais la page me retourne tt le temps "undefine" car le formulaire n'est pas validé.

Pour 'lab', c'est la meme chose sauf que c'est un bouton radio.

Enfin, $identifier ne passe pas du tout dans ma fonction et a l'affichage, il me donne : \".$identifier.\"

Si quelqu'un pouvait m'aider, ou me donner une piste, se serai genial. Merci

P.S : Au fait, comment replacer les valeurs dans le formulaire apres avoir fermer le pop-up ?

Répondre à Wam

2

Wam, le 30 mai 2003 à 14:11:25

En fait, j'ai encore fais quelques changements, dont l'abandon de la fonction javascript (mauvaise solution pour mon cas present).

Ce que je cherche a savoir, c'est comment recuperer les valeurs diverses d'un formulaire (option de select, bouton radio, ...) dans un javascript qui pourra envoyer ca dans un pop-up.

Une fois ces infos dispo dans mon pop-up, il faudrait que je les replace dans mon formulaire.

Mais je peux pas poster mes donnees du formulaire, sinon je vais pas avoir trois submit pour le meme formulaire.

Sinon, je pourrai peut-etre changer la cible de mon formulaire en fonction du bouton sur lequel je clic.

Je reprend :
En gros, j'ai mon formulaire sur la page principale, en cliquant sur un des deux boutons, j'ouvre un pop-up.
Ce dernier me sort une liste avec des liens. En cliquant sur les liens, je renvoi la valeurs associee au lien et actualise ma principale pour afficher les nouvelles informations, mais entre les deux, mon formulaire est effacer.

Comment tranmettre les variables pour pouvoir les reafficher dans le formulaire apres reacualisation ?

Merci de votre aide (pour un povre debutant en php et encor moin for en javascript)

Répondre à Wam

3

Rico, le 2 sep 2003 à 16:45:32

Salut Wam,

J'ai exactement le meme problème que toi en ce qui concerne les POPUP. Je ne suis pas un expert, mais j'essaye de monter un site en PHP avec des POP dans lesquels je fais des selections, qui vont dans ma page principale...
Aujourd'hui, je bloque complétement...
Si jamais tu as trouvé une solution, je suis preneur !

@+

Rico alias oyoye@tiscali.fr

Répondre à Rico

4

PhP, le 2 sep 2003 à 23:55:51

Bsr Wam,


Oui tout ceci est possible ...

Il est possible de passer des variables de la page principale au POPUP et réciproquement sans recharger aucune page, ou en la rechargeant au choix avec ou sans PHP.

Cependant avec PHP la gestion des formulaires se trouve bien sûr facilité.

Voici un ex de ce qu'il est possible de faire :
http://www.nobodysperfect.freesurf.fr/php2/passage.php

Si tu es intéressé poste de nouveau et je donnerais plus des détails mais ce soir je suis trop crevé ...

@+

PhP    [Push the button,Don't push the
.         button,Trip the station,Change the channel]

Répondre à PhP

5

Reggae, le 4 sep 2003 à 01:32:51
Répondre à Reggae

6

 GoSth, le 5 sep 2003 à 01:25:51

Y'a plusieurs solutions :
1°) tu passes tes variables dans l'url et tu les recuperes sur ta page principale avec $HTTP_GET_VARS (pour voir ce que ca donne, essaie print__r($HTTP_GET_VARS); ), c'est un tableau qui contient variables et valeurs
2°) tu fais un formulaire invisible avec des <input type="hidden" name="nom de la variable" value="valeur"> pour chaque valeur de chaque lien, dans ton pop up. Et dans la balise du lien, tu mets le href="#" et tu rajoutes un onClick="nomduformulaire.submit()"
Dans la balise de chaque formulaire, le method="post" et action="tapageprincipale.php", donc quand tu envoie le formulaire ca envoie les données via la methode POST (des formulaires en general) a ta page principale
Et ensuite tu les recuperes avec le tableau $HTTP_POST_VARS
Mais c'est vraiment laborieux comme solution, autant utiliser les get_vars de l'url

Répondre à GoSth