Js, ouverture pop-up
Résolu/Fermé
necro27
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
-
1 juil. 2010 à 12:33
necro27 Messages postés 160 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 11 février 2011 - 1 juil. 2010 à 16:27
necro27 Messages postés 160 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 11 février 2011 - 1 juil. 2010 à 16:27
A voir également:
- Js, ouverture pop-up
- Serveur pop - Guide
- Autoriser pop up firefox - Guide
- Up to box - Accueil - Guide services en ligne
- Pop up mcafee - Accueil - Piratage
- Page d'ouverture google - Guide
8 réponses
j'ai trouvé ou ca coince : comme je t'ai l'ai dit dans mon premier message il faut supprimer l'action de ton formulaire puisque tu le gere en javscript. Ne laisse que ca :
<form method="POST" name="formconfirm" enctype="application/x-www-form-urlencoded">
supprime le bouton submit de ton formulaire et remplace par un truc du genre <a href="#" onclick="check();">valider</a>
dans ton js :
if (msg != "")
{
alert(msg);
}
ne laisse que l'affichage des erreurs (inutile de changer la location puisque de cette facon tu ne recharge pas ta page).
et ca doit marcher comme tu l'avais prévu
<form method="POST" name="formconfirm" enctype="application/x-www-form-urlencoded">
supprime le bouton submit de ton formulaire et remplace par un truc du genre <a href="#" onclick="check();">valider</a>
dans ton js :
if (msg != "")
{
alert(msg);
}
ne laisse que l'affichage des erreurs (inutile de changer la location puisque de cette facon tu ne recharge pas ta page).
et ca doit marcher comme tu l'avais prévu
Salut,
je ne sais pas si le pb vient de là mais :
1- si tu gere ton submit via js, tu n'a pas besoin d'avoir d'action dans ton form
2- si tes pages php sont toutes les 3 au meme endroits, tu dois pouvoir l'appeler sans remettre PHP/... sinon le chemin est faux.
Sinon,est ce que tu as un message d'erreur qui apparait ? es tu sur que la partie de ta fonction appelant le pop-up est bien parcourue ?
je ne sais pas si le pb vient de là mais :
1- si tu gere ton submit via js, tu n'a pas besoin d'avoir d'action dans ton form
2- si tes pages php sont toutes les 3 au meme endroits, tu dois pouvoir l'appeler sans remettre PHP/... sinon le chemin est faux.
Sinon,est ce que tu as un message d'erreur qui apparait ? es tu sur que la partie de ta fonction appelant le pop-up est bien parcourue ?
necro27
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
1 juil. 2010 à 14:18
1 juil. 2010 à 14:18
bonjour Francois,
je viens de m'apercevoir que j'ai confondu les erreurs dans mon premier post. L'erreur est en fait :
dans le cas d'erreur de saisie :
la page que je veux afficher ne s'affiche pas dans le pop-up mais à la place de celle qui déclenche le js.
dans le cas de non-erreur de saisie (formulaire ok)
ça fonctionne.
Ensuite dc pour ta solution n°1
--> si je retire le action="..."
dans le cas d'erreur de saisie :
ça fonctionne
dans le cas de non-erreur de saisie (formulaire ok)
ça ne fonctionne plus, le pop up est bien lancé mais c la page du premier formulaire au lieu du deuxième qui est affiché (la première page en quelque sorte.)
Les erreurs st inversées en quelque sorte.. un cou ça marche un cou ça marche plus suivant le action ou pas. c'est pour ça que j'ai posté ici je ne comprend pas trop ou est la faille, conflit.
sinon pour le 2-
les 3 pages sont au même endroit mais :
je rappelle les 3 pages
1--> nouscontacter.php
2--> pageconfirm.php
3--> confirmer.php
voilà ce que j'ai :
j'utilise des <div>
index.php (qui contient donc le site "entier")
sur cette page index.php, j'ai un menu à gauche qui, par l'intermédiaire d'un include apelle la page 1 à droite.
ensuite de cette page 1 je voudrai ouvrir en pop-up la page 2
puis confirmer ou annuler avec la page3 (qui gère le traitement)
voici l'architecture :
www
>>siteinternet
>>>>>index.php
>>>>>dossier contenant les pages *.php
>>>>>>>>>nouscontacter.php
>>>>>>>>>pageconfirm.php
>>>>>>>>>confirmer.php
je ne sais pas si elle est claire...
Voilà..sinon aucun message d'erreur à aucun moment, sauf les alert() qui s'affichent bien dans tout les cas de figures, seuls les redirection, ouvertures page fonctionnent mal..
Merci
je viens de m'apercevoir que j'ai confondu les erreurs dans mon premier post. L'erreur est en fait :
dans le cas d'erreur de saisie :
la page que je veux afficher ne s'affiche pas dans le pop-up mais à la place de celle qui déclenche le js.
dans le cas de non-erreur de saisie (formulaire ok)
ça fonctionne.
Ensuite dc pour ta solution n°1
--> si je retire le action="..."
dans le cas d'erreur de saisie :
ça fonctionne
dans le cas de non-erreur de saisie (formulaire ok)
ça ne fonctionne plus, le pop up est bien lancé mais c la page du premier formulaire au lieu du deuxième qui est affiché (la première page en quelque sorte.)
Les erreurs st inversées en quelque sorte.. un cou ça marche un cou ça marche plus suivant le action ou pas. c'est pour ça que j'ai posté ici je ne comprend pas trop ou est la faille, conflit.
sinon pour le 2-
les 3 pages sont au même endroit mais :
je rappelle les 3 pages
1--> nouscontacter.php
2--> pageconfirm.php
3--> confirmer.php
voilà ce que j'ai :
j'utilise des <div>
index.php (qui contient donc le site "entier")
sur cette page index.php, j'ai un menu à gauche qui, par l'intermédiaire d'un include apelle la page 1 à droite.
ensuite de cette page 1 je voudrai ouvrir en pop-up la page 2
puis confirmer ou annuler avec la page3 (qui gère le traitement)
voici l'architecture :
www
>>siteinternet
>>>>>index.php
>>>>>dossier contenant les pages *.php
>>>>>>>>>nouscontacter.php
>>>>>>>>>pageconfirm.php
>>>>>>>>>confirmer.php
je ne sais pas si elle est claire...
Voilà..sinon aucun message d'erreur à aucun moment, sauf les alert() qui s'affichent bien dans tout les cas de figures, seuls les redirection, ouvertures page fonctionnent mal..
Merci
LDMBatman
Messages postés
95
Date d'inscription
mardi 29 août 2006
Statut
Membre
Dernière intervention
10 avril 2014
39
1 juil. 2010 à 13:21
1 juil. 2010 à 13:21
Essaie ceci :
window.open('PHP/pageconfirm.php', 'popup','height=1000,width=1000,menubar=no,toolbar=no,location=no,status=no,scrollbars=no');
necro27
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
1 juil. 2010 à 14:25
1 juil. 2010 à 14:25
Bonjour LDMBatman
j'ai essayer les résultat sont les mêmes
Cependant, je vient de remarquer quelque chose qui peux peut être aider à comprendre.
Lorsque je clique sur un input reset, mon formulaire 1 se remet à vide
si je valide avec le formulaire vide aprè l'avoir reset
-->une nouvelle page s'ouvre (onglet sous modzilla)
-->et la page d'origine qui est donc mon index.php comme expliqué sur le com' plus haut retourne sur le localhost de base, la où l'on sélectionne le fichier site internet.
si je valide le formulaire vide sans avoir au préalable reset,
--> la page 2 devant s'ouvrir dans la pop-up s'ouvre sur la page1, la remplace.
2 validations censé produire le même effet mais pourtant effets différents..
j'ai essayer les résultat sont les mêmes
Cependant, je vient de remarquer quelque chose qui peux peut être aider à comprendre.
Lorsque je clique sur un input reset, mon formulaire 1 se remet à vide
si je valide avec le formulaire vide aprè l'avoir reset
-->une nouvelle page s'ouvre (onglet sous modzilla)
-->et la page d'origine qui est donc mon index.php comme expliqué sur le com' plus haut retourne sur le localhost de base, la où l'on sélectionne le fichier site internet.
si je valide le formulaire vide sans avoir au préalable reset,
--> la page 2 devant s'ouvrir dans la pop-up s'ouvre sur la page1, la remplace.
2 validations censé produire le même effet mais pourtant effets différents..
LDMBatman
Messages postés
95
Date d'inscription
mardi 29 août 2006
Statut
Membre
Dernière intervention
10 avril 2014
39
1 juil. 2010 à 14:32
1 juil. 2010 à 14:32
Je pense que tu as inversé les methodes location.replace() et open()
necro27
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
1 juil. 2010 à 14:40
1 juil. 2010 à 14:40
location replace je l'utilise pour ouvrir une page sur la précédente, et le open pour ouvrir en pop-up;
J'ai déjà essayé de remplacer open par window.location.replace...mais cela ne marche pas plus.
J'ai déjà essayé de remplacer open par window.location.replace...mais cela ne marche pas plus.
necro27
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
1 juil. 2010 à 14:59
1 juil. 2010 à 14:59
j'ai inversé les deux, en vain..
j'ai test également avec et sans le action du form..mais rien ne mache et dans aucun des cas une pop-up ne s'affiche
j'ai test également avec et sans le action du form..mais rien ne mache et dans aucun des cas une pop-up ne s'affiche
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
1 juil. 2010 à 13:27
1 juil. 2010 à 13:27
plutot que d'ouvrir un popup, crée un div pour afficher ton apercu que tu ouvre comme un popup au dessus de ta page
necro27
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
1 juil. 2010 à 14:27
1 juil. 2010 à 14:27
bonjour maka
Je ne vois pas ce que tu veux dire, ou du moins je pense que c'est déjà ce que je fais.
la pop-up à la base est le contenu d'un div que j'appelle via la fonction js..je vais poster mes pages si vous voulez peut être que cela vous +.
Je ne vois pas ce que tu veux dire, ou du moins je pense que c'est déjà ce que je fais.
la pop-up à la base est le contenu d'un div que j'appelle via la fonction js..je vais poster mes pages si vous voulez peut être que cela vous +.
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
1 juil. 2010 à 14:35
1 juil. 2010 à 14:35
un popup, tu ouvres une nouvelle page, l'idée que je te donne
c'est un div vide et caché que tu remplis par ton apercu et rend visible par dessus ta page
avec une fonction js
comme çà tu reste toujours sur la meme page (formulaire et apercu) , pas besoin de balader tes variables, et de te casser la tete avec une popup
c'est un div vide et caché que tu remplis par ton apercu et rend visible par dessus ta page
avec une fonction js
comme çà tu reste toujours sur la meme page (formulaire et apercu) , pas besoin de balader tes variables, et de te casser la tete avec une popup
necro27
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
Modifié par necro27 le 1/07/2010 à 14:56
Modifié par necro27 le 1/07/2010 à 14:56
pour l'idée de la pop-up, c'est mon maître de stage qui me la demandé. un pop-up de confirmation.
sinon j'aurai bien juste remplacé tout l'un sur l'autre.. : /
et pour l'idée de balader les variables c'était pour éviter de perdre les données préalablement saisies.
Je sais avec POST que nous pouvons conserver les valeurs d'un champs, et les rapelant s'ils ont déjà été saisis
par exemple..
Mais au niveau de la liste déroulante je n'arrive pas à conserver la valeur saisie, donc voilà pourquoi passer par une pop-up..
EDIT : je précise que ce n'est pas la seule raison la liste déroulante, mais as en fai partie
sinon j'aurai bien juste remplacé tout l'un sur l'autre.. : /
et pour l'idée de balader les variables c'était pour éviter de perdre les données préalablement saisies.
Je sais avec POST que nous pouvons conserver les valeurs d'un champs, et les rapelant s'ils ont déjà été saisis
par exemple..
<input type="text" name="txtnom" value="<?php if(isset($_POST['txtnom']) && !empty($_POST['txtnom'])) {echo $_POST['txtnom'];} else {echo 'Votre nom';} ?>" size="20" onclick="this.value=''" onKeyUp="javascript:couleur(this);" />
Mais au niveau de la liste déroulante je n'arrive pas à conserver la valeur saisie, donc voilà pourquoi passer par une pop-up..
EDIT : je précise que ce n'est pas la seule raison la liste déroulante, mais as en fai partie
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
LDMBatman
Messages postés
95
Date d'inscription
mardi 29 août 2006
Statut
Membre
Dernière intervention
10 avril 2014
39
1 juil. 2010 à 14:27
1 juil. 2010 à 14:27
Le problème est que dans le cas où une erreur est détectée, la fonction window.location.replace("../index.php?num=5"); est appelée. Cette fonction charge ton index.php dans la fenetre courante et n'ouvre pas de pop-up.
Je pense que tu as du inverser window.location.replace(); et window.open() qui lui peut t'ouvrir un pop-up
Je pense que tu as du inverser window.location.replace(); et window.open() qui lui peut t'ouvrir un pop-up
necro27
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
1 juil. 2010 à 14:52
1 juil. 2010 à 14:52
if (msg != "")
{
alert(msg);
window.location.replace("../index.php?num=5");
return(false);
}
else
{
my_form = eval(document.formconfirm)
alert("dfjkghdfjkghdfjkghdfjkgdf");
window.open('PHP/pageconfirm.php', 'popup', 'height=1000,width=1000,menubar=no,toolbar=no,location=no,status=no,scrollbars=no');
my_form.target = "popup";
my_form.submit();
return(true);
}
Ici donc si msg est != de vide, donc erreur je relance la page 1
mais s'il n'y a pas de message d'erreur dans msg, je doit bien ouvrir la pop-up...
est-ce que pour toi je me trompe avec le code ci dessus? je devrai inverser les open et replace donc?
cela voudrai dire, selon ma logique (loin d'être superbe), que j'ouvre la pop-up s'il y'a une erreur trouvé (au moins) auquel cas msg serait différent de vide..
Prise de tête pour une broutille j'en suis sûr mais je ne comprend rien...-_-
{
alert(msg);
window.location.replace("../index.php?num=5");
return(false);
}
else
{
my_form = eval(document.formconfirm)
alert("dfjkghdfjkghdfjkghdfjkgdf");
window.open('PHP/pageconfirm.php', 'popup', 'height=1000,width=1000,menubar=no,toolbar=no,location=no,status=no,scrollbars=no');
my_form.target = "popup";
my_form.submit();
return(true);
}
Ici donc si msg est != de vide, donc erreur je relance la page 1
mais s'il n'y a pas de message d'erreur dans msg, je doit bien ouvrir la pop-up...
est-ce que pour toi je me trompe avec le code ci dessus? je devrai inverser les open et replace donc?
cela voudrai dire, selon ma logique (loin d'être superbe), que j'ouvre la pop-up s'il y'a une erreur trouvé (au moins) auquel cas msg serait différent de vide..
Prise de tête pour une broutille j'en suis sûr mais je ne comprend rien...-_-
LDMBatman
Messages postés
95
Date d'inscription
mardi 29 août 2006
Statut
Membre
Dernière intervention
10 avril 2014
39
1 juil. 2010 à 15:07
1 juil. 2010 à 15:07
Si le message n'est pas vide, tu le montre et tu affiche "index.php?num=5" dans ta première fenetre
Sinon (si il est vide)
tu affiche "dfjkghdfjkghdfjkghdfjkgdf"
et tu ouvre un pop up
C'est bien cela que tu veux? (Désolé, je suis un peu fatigué je m'emmèle ^^)
Sinon (si il est vide)
tu affiche "dfjkghdfjkghdfjkghdfjkgdf"
et tu ouvre un pop up
C'est bien cela que tu veux? (Désolé, je suis un peu fatigué je m'emmèle ^^)
necro27
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
1 juil. 2010 à 15:16
1 juil. 2010 à 15:16
alors je re-précise bien ^^
ici la variable msg, est en fait msg-erreur. (pour mieux comprendre)
Si j'ai une erreur, ou +, dans mon formulaire (champ non saisi, erreur saisie, etc)
j'incrémente à la variable msg un message qui est la raison de l'erreur.
ainsi au final, si msg != " " (donc s'il contient au moins un message d'erreur)
il me listera dans une alerte tous les message d'erreur et me ré-ouvre la page principale (index.php?num=5)
si aucune erreur de saisie dans le formulaire principal, alors msg = " " donc est bien vide, aucun message d'erreur à l'intérieur.
ainsi si le formulaire est qualifié de bien rempli (msg=" ") j'ouvre la pop-up qui me ré-affiche toute les informations saisies afin de permettre à l'utilisateur de vérifier ses saisies et s'il confirme pour de bon
Voilà j'ai détaillé un maximum, parfois trop peut-être mais je veux être clair ^^
Et t'inquiète pas pour la fatigue, d'une personne ne passe outre, ça arrive et de deux c'est bien gentil de chercher à m'aider. donc t'excuser d'être fatigué n'est pas possible. A ce tarif là c'est plutôt à moi de m'excuser de t'empêcher de dormir^^ même si je pense qu'au bout du compte je vais endormir tout le monde avec mon souci..
Et merci aux autres également d'apporter une pierre à l'édifice, pour ce problème, c'est gentil.
ici la variable msg, est en fait msg-erreur. (pour mieux comprendre)
Si j'ai une erreur, ou +, dans mon formulaire (champ non saisi, erreur saisie, etc)
j'incrémente à la variable msg un message qui est la raison de l'erreur.
ainsi au final, si msg != " " (donc s'il contient au moins un message d'erreur)
il me listera dans une alerte tous les message d'erreur et me ré-ouvre la page principale (index.php?num=5)
si aucune erreur de saisie dans le formulaire principal, alors msg = " " donc est bien vide, aucun message d'erreur à l'intérieur.
ainsi si le formulaire est qualifié de bien rempli (msg=" ") j'ouvre la pop-up qui me ré-affiche toute les informations saisies afin de permettre à l'utilisateur de vérifier ses saisies et s'il confirme pour de bon
Voilà j'ai détaillé un maximum, parfois trop peut-être mais je veux être clair ^^
Et t'inquiète pas pour la fatigue, d'une personne ne passe outre, ça arrive et de deux c'est bien gentil de chercher à m'aider. donc t'excuser d'être fatigué n'est pas possible. A ce tarif là c'est plutôt à moi de m'excuser de t'empêcher de dormir^^ même si je pense qu'au bout du compte je vais endormir tout le monde avec mon souci..
Et merci aux autres également d'apporter une pierre à l'édifice, pour ce problème, c'est gentil.
necro27
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
1 juil. 2010 à 14:38
1 juil. 2010 à 14:38
Bon voici toutes mes pages (qui concernent le problème) où je vais raccourcir un maximum.
index.php
----------------> nous contacter.php (qui contient donc le formulaire principal)
-----------------------> pageconfirm.php (à ouvrir dans la pop-up)
<body>
<div id="confirmdonnees">
<form action="confirmer.php" method="POST" enctype="multipart/form-data" onreset="javascript: ;">
<h1>Confirmation des données saisies</h1>
<p>Votre nom : <?php echo $_POST['txtnom']; ?></p>
<p>Votre prénom : <?php echo $_POST['txtpnom']; ?></p>
<p>Votre civilité :
<?php
if ($_POST['lstcivilite']==1)
{
$civilite2 = 'Mademoiselle';
echo $civilite2;
}
else
{
if($_POST['lstcivilite']==2)
{
$civilite2 = 'Madame';
echo $civilite2;
}
else
{
if ($_POST['lstcivilite']==3)
{
$civilite2 = 'Monsieur';
echo $civilite2;
}
}
}
?></p>
<p>Votre e-mail : <?php echo $_POST['mail']; ?></p>
<?php
if($_POST['txttel']!=0 && $_POST['txttel2']!=0 && $_POST['txttel3']!=0 && $_POST['txttel4']!=0 && $_POST['txttel5']!=0)
{
$tel = $_POST['txttel'].".".$_POST['txttel2'].".".$_POST['txttel3'].".".$_POST['txttel4'].".".$_POST['txttel5'];
}
?>
<p>Votre numéro de téléphone : <?php echo $_POST['txttel'].".".$_POST['txttel2'].".".$_POST['txttel3'].".".$_POST['txttel4'].".".$_POST['txttel5']; ?></p>
<p>Votre message : <?php echo $_POST['txtmsg']; ?></p>
<input type="hidden" value="<?php echo $_POST['txtnom']; ?>" name="txtnom2" />
<input type="hidden" value="<?php echo $_POST['txtpnom']; ?>" name="txtpnom2" />
<input type="hidden" value="<?php echo $civilite2; ?>" name="txtcivilite2" />
<input type="hidden" value="<?php echo $_POST['mail']; ?>" name="mail2" />
<input type="hidden" value="<?php echo $_POST['txttel']; ?>" name="txttel12" />
<input type="hidden" value="<?php echo $_POST['txttel2']; ?>" name="txttel22" />
<input type="hidden" value="<?php echo $_POST['txttel3']; ?>" name="txttel32" />
<input type="hidden" value="<?php echo $_POST['txttel4']; ?>" name="txttel42" />
<input type="hidden" value="<?php echo $_POST['txttel5']; ?>" name="txttel52" />
<input type="hidden" value="<?php echo $_POST['txtmsg']; ?>" name="txtmsg2" />
<br />
<table>
<tr>
<td><center><input type="submit" name="valider" value="Envoyer" /></center></td>
<td><center><input type="button" value="Annuler" onClick='self.close()' /></center></td>
</tr>
</table>
</form><br />
</div>
</body>
--------------------------->confirmer.php (qui détermine l'envoi ou non après choix dans la pop-up)
<?php
if (isset($_POST['valider']))
{
echo '<script>alert("test1");</script>';
$to = "truk@truk.truk";
$header="";
if (isset($_POST['mail2']) && !empty($_POST['mail2']))
{
$mail = $_POST['mail2'];
}
else
{
$mail = "";
}
if (isset ($_POST['txttel12']) && isset($_POST['txttel22']) && isset($_POST['txttel32']) && isset($_POST['txttel42']) && isset($_POST['txttel52']) && !empty($_POST['txttel12']) && !empty($_POST['txttel22']) && !empty($_POST['txttel32']) && !empty($_POST['txttel42']) && !empty($_POST['txttel52']))
{
$tel = $_POST['txttel12'].$_POST['txttel22'].$_POST['txttel32'].$_POST['txttel42'].$_POST['txttel52'];
}
else
{
$tel = "";
}
if (isset($_POST['txtnom2']) && !empty($_POST['txtnom2']) && isset($_POST['txtpnom2']) && !empty($_POST['txtpnom2']))
{
$nom = $_POST['txtnom2'];
$pnom = $_POST['txtpnom2'];
if ($mail != "" && $tel = "")
{
$stock = 1;
}
else
{
if ($mail =="" && $tel != "")
{
$stock = 2;
}
else
{
if ($mail != "" && $tel != "")
{
$stock = 3;
}
else
{
$stock = 4;
}
}
}
}
else
{
$stock = 5;
}
if ($stock != 5)
{
if (isset($_POST['txtcivilite2']) && !empty($_POST['txtcivilite2']))
{
$civilite = $_POST['txtcivilite2'];
}
else
{
$civilite = "";
}
if(isset($_POST['txtmsg2']) && !empty($_POST['txtmsg2']))
{
$msg = $_POST['txtmsg2'];
}
else
{
$msg="";
}
switch ($stock)
{
case '1': // nom + pnom + mail
$header = $nom." ".$pnom." <".$mail.">";
$header ="From: ".$header."\r\n"."Reply-To: ".$header."\r\n"."X-Mailer: PHP/".phpversion();
mail ($to, $msg, $header);
echo '<script>alert("votre message à bien été envoyé.")</script>';
echo '<script>window.location.replace("../index.php?num=2");</script>';
break;
case '2': // nom + pnom + tel
$header = $nom." ".$pnom." <".$tel.">";
$header ="From: ".$header."\r\n"."Reply-To: ".$header."\r\n"."X-Mailer: PHP/".phpversion();
mail ($to, $msg, $header);
echo '<script>alert("votre message à bien été envoyé.")</script>';
break;
case '3': // nom + pnom + mail + tel
$header = $nom." ".$pnom." <".$mail."> "."<".$tel.">";
$header ="From: ".$header."\r\n"."Reply-To: ".$header."\r\n"."X-Mailer: PHP/".phpversion();
mail ($to, $msg, $header);
echo '<script>alert("votre message à bien été envoyé.")</script>';
break;
}
}
}
elseif($_POST['annuler'])
{
}
?>
Et la fonction js que j' "include" dans chaque page
function check() //Vérification des champs (envoi du mail) + ouverture dans un pop-up.
{
var msg = "";
if ((document.formconfirm.mail.value != "") || (document.formconfirm.mail.value != "Votre adresse e-mail"))
{
indexAroba = document.formconfirm.mail.value.indexOf('@');
indexPoint = document.formconfirm.mail.value.indexOf('.');
if ((indexAroba < 0) || (indexPoint < 0))
{
document.formconfirm.mail.style.backgroundColor = "#4343FE";
msg += "Le mail est incorrect\n";
}
}
else
{
if ((document.formconfirm.mail.value == "") || (document.formconfirm.mail.value == "Votre adresse e-mail"))
{
if ((document.formconfirm.txttel.value == "") || (document.formconfirm.txttel2.value == "") || (document.formconfirm.txttel3.value == "") || (document.formconfirm.txttel4.value == "") || (document.formconfirm.txttel5.value == ""))
{
document.formconfirm.mail.style.backgroundColor = "#4343FE";
msg += "Veuillez saisir votre mail.\n";
}
}
}
if ((document.formconfirm.txtnom.value == "") || (document.formconfirm.txtnom.value == "Votre nom"))
{
msg += "Veuillez saisir votre nom\n";
document.formconfirm.txtnom.style.backgroundColor = "#4343FE";
}
if ((document.formconfirm.txtpnom.value == "") || (document.formconfirm.txtpnom.value == "Votre prénom"))
{
msg += "Veuillez saisir votre prenom\n";
document.formconfirm.txtpnom.style.backgroundColor = "#4343FE";
}
if (document.formconfirm.lstcivilite.value == 0)
{
msg += "Veuillez sélectionner votre civilité\n";
document.formconfirm.lstcivilite.style.backgroundColor = "#4343FE";
}
if ((document.formconfirm.txttel.value == "") || (document.formconfirm.txttel2.value == "") || (document.formconfirm.txttel3.value == "") || (document.formconfirm.txttel4.value == "") || (document.formconfirm.txttel5.value == ""))
{
if ((document.formconfirm.mail.value == "") || (document.formconfirm.mail.value == "Votre adresse e-mail"))
{
msg += "Veuillez vérifier votre numéro de téléphone\n";
if (document.formconfirm.txttel.value == "")
{
document.formconfirm.txttel.style.backgroundColor = "#4343FE";
}
if (document.formconfirm.txttel2.value == "")
{
document.formconfirm.txttel2.style.backgroundColor = "#4343FE";
}
if (document.formconfirm.txttel3.value == "")
{
document.formconfirm.txttel3.style.backgroundColor = "#4343FE";
}
if (document.formconfirm.txttel4.value == "")
{
document.formconfirm.txttel4.style.backgroundColor = "#4343FE";
}
if (document.formconfirm.txttel5.value == "")
{
document.formconfirm.txttel5.style.backgroundColor = "#4343FE";
}
}
}
if (document.formconfirm.txtmsg.value == "")
{
msg += "Veuillez saisir votre message\n";
document.formconfirm.txtmsg.style.backgroundColor = "#4343FE";
}
if (msg != "")
{
alert(msg);
window.location.replace("../index.php?num=5");
return(false);
}
else
{
my_form = eval(document.formconfirm)
alert("dfjkghdfjkghdfjkghdfjkgdf");
window.open('PHP/pageconfirm.php', 'popup', 'height=1000,width=1000,menubar=no,toolbar=no,location=no,status=no,scrollbars=no');
my_form.target = "popup";
my_form.submit();
return(true);
}
qui permet donc de vérfier tout les champs
Bon voilà vous avez tout...je sais que cela fait mais si c la seule chose pour expliquer mn souci..merci bcp
index.php
<body> <div id="haut"> </div> <div id="gauche"> <div id="menu"> <li><a href="index.php?num=5">Nous contacter</a></li> </div> </div> <div id="droite"> <?php if (!isset($_GET['num'])) { $num=1; } else { $num=$_GET['num']; } switch ($num) { case '1' : include("PHP/accueil.php"); break; case '5' : include("PHP/nouscontacter.php"); break; default : include("PHP/redirection.php"); break; } ?> </div> <div id="bas"></div> </body>
----------------> nous contacter.php (qui contient donc le formulaire principal)
<h1>Nous contacter</h1> <h3 class="info"><center>Tout les champs sont obligatoires sauf indication contraire.</center></h3> <hr></hr><br /> <form action="PHP/pageconfirm.php" method="POST" name="formconfirm" onsubmit="javascript:check(this);" enctype="application/x-www-form-urlencoded"> <table border="0" align="center" width="80%"> <tr> <td align="center"><input type="text" name="txtnom" value="<?php if(isset($_POST['txtnom']) && !empty($_POST['txtnom'])) {echo $_POST['txtnom'];} else {echo 'Votre nom';} ?>" size="20" onclick="this.value=''" onKeyUp="javascript:couleur(this);" /></td> <td align="center"><input type="text" name="txtpnom" value="<?php if(isset($_POST['txtpnom']) && !empty($_POST['txtpnom'])) {echo $_POST['txtpnom'];} else {echo 'Votre prénom';} ?>" size="20" onclick="this.value=''" onKeyUp="javascript:couleur(this);" /></td> </tr> </table><br /> <table border="0" align="center" width="80%"> <tr> <td align="center" colspan="2"> <select name="lstcivilite" onKeyUp="javascript:couleur(this);"> <option value="0" selected>Votre civilité</option> <option value="1">Mademoiselle</option> <option value="2">Madame</option> <option value="3">Monsieur</option> </select> </td> </tr> </table><br /><hr></hr> <table border="0" align="center" width="50%"> <tr> <td colspan="3" align="center"><input type="text" name="mail" onKeyUp="javascript:couleur(this);" value="<?php if(isset($_POST['mail']) && !empty($_POST['mail'])) {echo $_POST['mail'];} else {echo 'Votre adresse e-mail';} ?>" onclick="this.value=''" /></td> </tr> </table><br /> <table border="0" align="center" width="50%"> <tr> <td align="center">Numéro de téléphone<sup>(1)</sup></td> </tr> <tr> <td align="center"> <input type="int" name="txttel" size="1" maxlength="2" onkeyup="suivant(this,'txttel2',2); javascript:couleur(this);" /> . <input type="int" name="txttel2" size="1" maxlength="2" onkeyup="suivant(this,'txttel3',2); javascript:couleur(this);" /> . <input type="int" name="txttel3" size="1" maxlength="2" onkeyup="suivant(this,'txttel4',2); javascript:couleur(this);" /> . <input type="int" name="txttel4" size="1" maxlength="2" onkeyup="suivant(this,'txttel5',2); javascript:couleur(this);" /> . <input type="int" name="txttel5" size="1" maxlength="2" onKeyUp="javascript:couleur(this);" /> </td> </tr> </table><br /> <table width="90%" align="center"><tr><td><h3 class="info"><sup>(1)</sup> Pour nous permettre de vous contacter, la saisie d'un champ au minimum sur les deux précédents (mail et téléphone) est obligatoire. Bien sûr vous pouvez renseigner les deux champs.</h3></td></tr></table><br /> <hr></hr><br /> <table border="0" align="center" width="50%"> <tr> <td align="center">Message</td> </tr> <tr> <td align="center"><textarea name="txtmsg" value="<?php if(isset($_POST['txtmsg']) && !empty($_POST['txtmsg'])) {echo $_POST['txtmsg'];} else {echo 'Tapez votre message ici';} ?>" rows="10" cols="50" onKeyUp="javascript:couleur(this);"></textarea></td> </tr> </table><br /> <table border="0" align="center" width="50%"> <tr> <td align="center"><input type="submit" value="Prévisualiser" /></td> <td align="center"><input type="reset" value="Annuler" /></td> </tr> </table> </form><br /><br />
-----------------------> pageconfirm.php (à ouvrir dans la pop-up)
<body>
<div id="confirmdonnees">
<form action="confirmer.php" method="POST" enctype="multipart/form-data" onreset="javascript: ;">
<h1>Confirmation des données saisies</h1>
<p>Votre nom : <?php echo $_POST['txtnom']; ?></p>
<p>Votre prénom : <?php echo $_POST['txtpnom']; ?></p>
<p>Votre civilité :
<?php
if ($_POST['lstcivilite']==1)
{
$civilite2 = 'Mademoiselle';
echo $civilite2;
}
else
{
if($_POST['lstcivilite']==2)
{
$civilite2 = 'Madame';
echo $civilite2;
}
else
{
if ($_POST['lstcivilite']==3)
{
$civilite2 = 'Monsieur';
echo $civilite2;
}
}
}
?></p>
<p>Votre e-mail : <?php echo $_POST['mail']; ?></p>
<?php
if($_POST['txttel']!=0 && $_POST['txttel2']!=0 && $_POST['txttel3']!=0 && $_POST['txttel4']!=0 && $_POST['txttel5']!=0)
{
$tel = $_POST['txttel'].".".$_POST['txttel2'].".".$_POST['txttel3'].".".$_POST['txttel4'].".".$_POST['txttel5'];
}
?>
<p>Votre numéro de téléphone : <?php echo $_POST['txttel'].".".$_POST['txttel2'].".".$_POST['txttel3'].".".$_POST['txttel4'].".".$_POST['txttel5']; ?></p>
<p>Votre message : <?php echo $_POST['txtmsg']; ?></p>
<input type="hidden" value="<?php echo $_POST['txtnom']; ?>" name="txtnom2" />
<input type="hidden" value="<?php echo $_POST['txtpnom']; ?>" name="txtpnom2" />
<input type="hidden" value="<?php echo $civilite2; ?>" name="txtcivilite2" />
<input type="hidden" value="<?php echo $_POST['mail']; ?>" name="mail2" />
<input type="hidden" value="<?php echo $_POST['txttel']; ?>" name="txttel12" />
<input type="hidden" value="<?php echo $_POST['txttel2']; ?>" name="txttel22" />
<input type="hidden" value="<?php echo $_POST['txttel3']; ?>" name="txttel32" />
<input type="hidden" value="<?php echo $_POST['txttel4']; ?>" name="txttel42" />
<input type="hidden" value="<?php echo $_POST['txttel5']; ?>" name="txttel52" />
<input type="hidden" value="<?php echo $_POST['txtmsg']; ?>" name="txtmsg2" />
<br />
<table>
<tr>
<td><center><input type="submit" name="valider" value="Envoyer" /></center></td>
<td><center><input type="button" value="Annuler" onClick='self.close()' /></center></td>
</tr>
</table>
</form><br />
</div>
</body>
--------------------------->confirmer.php (qui détermine l'envoi ou non après choix dans la pop-up)
<?php
if (isset($_POST['valider']))
{
echo '<script>alert("test1");</script>';
$to = "truk@truk.truk";
$header="";
if (isset($_POST['mail2']) && !empty($_POST['mail2']))
{
$mail = $_POST['mail2'];
}
else
{
$mail = "";
}
if (isset ($_POST['txttel12']) && isset($_POST['txttel22']) && isset($_POST['txttel32']) && isset($_POST['txttel42']) && isset($_POST['txttel52']) && !empty($_POST['txttel12']) && !empty($_POST['txttel22']) && !empty($_POST['txttel32']) && !empty($_POST['txttel42']) && !empty($_POST['txttel52']))
{
$tel = $_POST['txttel12'].$_POST['txttel22'].$_POST['txttel32'].$_POST['txttel42'].$_POST['txttel52'];
}
else
{
$tel = "";
}
if (isset($_POST['txtnom2']) && !empty($_POST['txtnom2']) && isset($_POST['txtpnom2']) && !empty($_POST['txtpnom2']))
{
$nom = $_POST['txtnom2'];
$pnom = $_POST['txtpnom2'];
if ($mail != "" && $tel = "")
{
$stock = 1;
}
else
{
if ($mail =="" && $tel != "")
{
$stock = 2;
}
else
{
if ($mail != "" && $tel != "")
{
$stock = 3;
}
else
{
$stock = 4;
}
}
}
}
else
{
$stock = 5;
}
if ($stock != 5)
{
if (isset($_POST['txtcivilite2']) && !empty($_POST['txtcivilite2']))
{
$civilite = $_POST['txtcivilite2'];
}
else
{
$civilite = "";
}
if(isset($_POST['txtmsg2']) && !empty($_POST['txtmsg2']))
{
$msg = $_POST['txtmsg2'];
}
else
{
$msg="";
}
switch ($stock)
{
case '1': // nom + pnom + mail
$header = $nom." ".$pnom." <".$mail.">";
$header ="From: ".$header."\r\n"."Reply-To: ".$header."\r\n"."X-Mailer: PHP/".phpversion();
mail ($to, $msg, $header);
echo '<script>alert("votre message à bien été envoyé.")</script>';
echo '<script>window.location.replace("../index.php?num=2");</script>';
break;
case '2': // nom + pnom + tel
$header = $nom." ".$pnom." <".$tel.">";
$header ="From: ".$header."\r\n"."Reply-To: ".$header."\r\n"."X-Mailer: PHP/".phpversion();
mail ($to, $msg, $header);
echo '<script>alert("votre message à bien été envoyé.")</script>';
break;
case '3': // nom + pnom + mail + tel
$header = $nom." ".$pnom." <".$mail."> "."<".$tel.">";
$header ="From: ".$header."\r\n"."Reply-To: ".$header."\r\n"."X-Mailer: PHP/".phpversion();
mail ($to, $msg, $header);
echo '<script>alert("votre message à bien été envoyé.")</script>';
break;
}
}
}
elseif($_POST['annuler'])
{
}
?>
Et la fonction js que j' "include" dans chaque page
function check() //Vérification des champs (envoi du mail) + ouverture dans un pop-up.
{
var msg = "";
if ((document.formconfirm.mail.value != "") || (document.formconfirm.mail.value != "Votre adresse e-mail"))
{
indexAroba = document.formconfirm.mail.value.indexOf('@');
indexPoint = document.formconfirm.mail.value.indexOf('.');
if ((indexAroba < 0) || (indexPoint < 0))
{
document.formconfirm.mail.style.backgroundColor = "#4343FE";
msg += "Le mail est incorrect\n";
}
}
else
{
if ((document.formconfirm.mail.value == "") || (document.formconfirm.mail.value == "Votre adresse e-mail"))
{
if ((document.formconfirm.txttel.value == "") || (document.formconfirm.txttel2.value == "") || (document.formconfirm.txttel3.value == "") || (document.formconfirm.txttel4.value == "") || (document.formconfirm.txttel5.value == ""))
{
document.formconfirm.mail.style.backgroundColor = "#4343FE";
msg += "Veuillez saisir votre mail.\n";
}
}
}
if ((document.formconfirm.txtnom.value == "") || (document.formconfirm.txtnom.value == "Votre nom"))
{
msg += "Veuillez saisir votre nom\n";
document.formconfirm.txtnom.style.backgroundColor = "#4343FE";
}
if ((document.formconfirm.txtpnom.value == "") || (document.formconfirm.txtpnom.value == "Votre prénom"))
{
msg += "Veuillez saisir votre prenom\n";
document.formconfirm.txtpnom.style.backgroundColor = "#4343FE";
}
if (document.formconfirm.lstcivilite.value == 0)
{
msg += "Veuillez sélectionner votre civilité\n";
document.formconfirm.lstcivilite.style.backgroundColor = "#4343FE";
}
if ((document.formconfirm.txttel.value == "") || (document.formconfirm.txttel2.value == "") || (document.formconfirm.txttel3.value == "") || (document.formconfirm.txttel4.value == "") || (document.formconfirm.txttel5.value == ""))
{
if ((document.formconfirm.mail.value == "") || (document.formconfirm.mail.value == "Votre adresse e-mail"))
{
msg += "Veuillez vérifier votre numéro de téléphone\n";
if (document.formconfirm.txttel.value == "")
{
document.formconfirm.txttel.style.backgroundColor = "#4343FE";
}
if (document.formconfirm.txttel2.value == "")
{
document.formconfirm.txttel2.style.backgroundColor = "#4343FE";
}
if (document.formconfirm.txttel3.value == "")
{
document.formconfirm.txttel3.style.backgroundColor = "#4343FE";
}
if (document.formconfirm.txttel4.value == "")
{
document.formconfirm.txttel4.style.backgroundColor = "#4343FE";
}
if (document.formconfirm.txttel5.value == "")
{
document.formconfirm.txttel5.style.backgroundColor = "#4343FE";
}
}
}
if (document.formconfirm.txtmsg.value == "")
{
msg += "Veuillez saisir votre message\n";
document.formconfirm.txtmsg.style.backgroundColor = "#4343FE";
}
if (msg != "")
{
alert(msg);
window.location.replace("../index.php?num=5");
return(false);
}
else
{
my_form = eval(document.formconfirm)
alert("dfjkghdfjkghdfjkghdfjkgdf");
window.open('PHP/pageconfirm.php', 'popup', 'height=1000,width=1000,menubar=no,toolbar=no,location=no,status=no,scrollbars=no');
my_form.target = "popup";
my_form.submit();
return(true);
}
qui permet donc de vérfier tout les champs
Bon voilà vous avez tout...je sais que cela fait mais si c la seule chose pour expliquer mn souci..merci bcp
Je ne sais pas si ca viens d'une erreur de copier coller, mais il manque une } à ton javascript.
une fois rajouté, qd je clique sur "prévisualiser" j'ai le message "dfjkghdfjkghdfjkghdfjkgdf" qui s'affiche et une popup est bien ouverte avec les données saisies.
une fois rajouté, qd je clique sur "prévisualiser" j'ai le message "dfjkghdfjkghdfjkghdfjkgdf" qui s'affiche et une popup est bien ouverte avec les données saisies.
necro27
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
1 juil. 2010 à 15:27
1 juil. 2010 à 15:27
ça aurait été trop beau : /
erreur de copié collé..c'était bien à la fin ? 2 '}' au lieu d'un ?
Sinon les erreurs st diverses, la pop-up fonctionne bien dans certains cas, cela dépend du action du formulaire principal..
C'est comme un cercle vicieux cette affaire, un truck fonctionne mais pas un autre, mais si je retire une chose, ici l'action, ce qui ne marchai pas fonctionne, mais ce qui fonctionnais ne fonctionne plus !! à s'en arracher les cheveux..heureusement ils sont trop court...lol.chui désespéré.
erreur de copié collé..c'était bien à la fin ? 2 '}' au lieu d'un ?
Sinon les erreurs st diverses, la pop-up fonctionne bien dans certains cas, cela dépend du action du formulaire principal..
C'est comme un cercle vicieux cette affaire, un truck fonctionne mais pas un autre, mais si je retire une chose, ici l'action, ce qui ne marchai pas fonctionne, mais ce qui fonctionnais ne fonctionne plus !! à s'en arracher les cheveux..heureusement ils sont trop court...lol.chui désespéré.
necro27
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
Modifié par necro27 le 1/07/2010 à 15:38
Modifié par necro27 le 1/07/2010 à 15:38
mais sinon, lorsque tu valide n'avoir rien saisi, est-ce que cela te met un message d'erreur ? enfin du moin est-ce qu'il aparait une erreur dans l'ouverture des pages?
necro27
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
1 juil. 2010 à 15:55
1 juil. 2010 à 15:55
je suis en train de chercher, vis a vis de la fonction js, elle retourne la valeur "true" si c'est bon sinon "false"
Ne peut-on pas récupérer cette valeur, et si la fonction retourne true, on affiche dans le action="pagesouhaité" , sinon si faux, nous mettons action à vide?
je cherche mais pas beaucoup de sites français à ce sujet :/
Ne peut-on pas récupérer cette valeur, et si la fonction retourne true, on affiche dans le action="pagesouhaité" , sinon si faux, nous mettons action à vide?
je cherche mais pas beaucoup de sites français à ce sujet :/
1 juil. 2010 à 16:27
Bonne soirée à tous