begin process at 2012 05 29 06:18:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Fermeture du popup et redirection avec un bouton Envoyer


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fermeture du popup et redirection avec un bouton Envoyer

mardi 17 avril 2007 à 16:50:58 | Fermeture du popup et redirection avec un bouton Envoyer

KatsuJu

Bonjour

D'abord, je dois m'excuser, même si la réponse à ma question se trouve probablement sur le site, j'ai été incapable de la trouver
Et en plus, si ça se trouve, vu mon niveau de compétence en la matière qui est plutôt faible, mon problème relève peut-être plus du php que du java, auquel cas je m'excuse par avance du dérangement.

Voilà quel est mon problème : j'ai créé un formulaire de commande fondé sur un  formulaire genre envoi mail.
Ce formulaire s'ouvre dans un popup, avec le code suivant sur la page d'appel :


<a href="commande.html" onclick="window.open(this.href, 'popup', 'height=550px, width=510px, 
top=50, left=50, toolbar=no, location=no, menubar=no, resizable=no, scrollbars=no, status=no');
return false;">Envoyez un message</a>


Ce formulaire est rédigé ainsi :


<form method="post" action="commande.php">
  <span style="font-family: Verdana; color: rgb(255, 153, 0);">
    <center>        
        Votre Nom :<br>
             <input name="nom" size="30" style="background-color: rgb(218, 241, 233);"   type="text">
        <br>
        Votre e-Mail :<br>
             <input name="email" size="30" style="background-color: rgb(218, 241, 233);" type="text">
        <br>
       Adresse postale :&nbsp;<br>
             <textarea name="adresse" cols="30" rows="4" style="background-color: rgb(218, 241, 233);" 
align="middle" ;=""></textarea>
        <br>
        Votre Message :<br>
             <textarea name="message" cols="50" rows="10" style="background-color: rgb(218, 241, 233);" 
align="left" ;=""></textarea>
       <br>
         <input value="Envoyer" type="submit" >
    </center>
  </span>
</form>


Au cas où ça serait utile, mon fichier "commande.php" est rédigé ainsi :


<?php
$msg = "Nom : \t\t$nom\n";
$msg .= "e-Mail :\t$email\n";
$msg .= "Adresse :\n\n$adresse\n\n";
$msg .= "Message :\t$message\n\n";
$destinataire = "#adresse mail valide#";
$objet = " $nom : Achat - Liste\n";
$entetes = "From: #site perso# <> \n";
$entetes .= "Reply-To: $email\n\n";
mail($destinataire, $objet, $msg, $entetes);
?> 

J'aurais souhaité qu'en cliquant sur le bouton Envoyer, le popup se ferme et  que l'utilisateur soit redirigé vers la fenêtre principale, sur ma page "message envoyé".

Est-ce que quelqu'un aurait une remède-miracle, ou tout du moins un début de solution ?


Merci d'avance
mardi 17 avril 2007 à 22:32:12 | Re : Fermeture du popup et redirection avec un bouton Envoyer

PetoleTeam

Membre Club
Réponse acceptée !
B onsoir...
Je ne connais rien en matière de formulaire et d'envoi aussi ce qui suis est à prendre avec des pincettes, c'est juste pour un début de solution

ajout de l'événement onsubmit à la form
<form method="post" action="commande.php" onsubmit="return(Close_Fenetre());">

avec bien sur entre <head> et </head>
<script language="JavaScript" type="text/javascript">
//----------------------
function Close_Fenetre(){
 window.opener.focus();            // focus sur fenetre parent
 setTimeout("self.close()", 100);  // Differe la fermeture
}
</script>

Donc à tester et à améliorer c'est sur...
;0)
mercredi 18 avril 2007 à 15:24:12 | Re : Fermeture du popup et redirection avec un bouton Envoyer

KatsuJu

Bonjour

D'abord, merci beaucoup PetoleTeam, j'avoue que je ne m'attendais pas à avoir une réponse aussi rapidement !

Et je me suis aperçu qu'en fait, je n'avais pas été assez explicite sur ce que je voulais vraiment faire.

Pour être clair (pas facile... ), la page A appelle le formulaire/popup, qui, une fois soumis (POST), redirige la page A vers la page B et se ferme tout seul comme un grand.

En partant de la suggestion de PetoleTeam, j'ai adapté (bidouillé ?) ceci :


<script language="JavaScript" type="text/javascript">

  function close_fenetre(){
    opener.focus();opener.location.href = ("#adresse de la page B#");
    setTimeout("self.close()", 1000);
}
</script>

Je ne sais pas si c'est très élégant, mais ça fonctionne... \o/

Histoire de ne pas jouer à l'apprenti sorcier et d'être sûr d'avoir compris :

En très gros, et sauf vilaine erreur de ma part, le setTimeout permet au formulaire d'avoir le temps de "passer" ses données (POST) à la page php pour qu'elle les "intègre" au mail. Donc, si je me contentais d'un self.close(), je recevrais un mail avec des valeurs vides pour les variables

$destinataire, $objet, $msg, $entetes

C'est ça ?


Bon, et avant de considérer mon problème comme résolu, je me permettrai une dernière question subsidiaire : sous réserve que le javascript soit activé, est-ce que cette solution est "fiable" et "universelle", c'est-à-dire est-ce qu'elle fonctionne 100% du temps avec 100% des navigateurs (ou du moins avec les plus courants) ?

Merci...


Cette discussion est classée dans : mail, formulaire, adresse, msg, popup


Répondre à ce message

Sujets en rapport avec ce message

conditions dans un formulaire mail [ par oceane67 ] bonjour, je m'y connais tres peu en javascript, et je voudrais savoir voilà je veux envoyer un formulaire par mail( ça pas de probleme ) mais je veux un formulaire mailto qui ne marche pas [ par bertrouf ] Salut,J'ai un formulaire sur mon site.Quand je clique sur le bouton "envoyer", un mail s'ouvre avec la bonne adresse, le sujet, mais un corps de messa Je cherche a envoyer un formulaire à une adresse Mail!!! [ par Chap71 ] Tou dabor bjr a ts...Je suis un débutant en html et je voudré savoir comment envoyer un formulaire à une adresse mail.Davance merci pour votre aide.Be Problème de fermeture de popup [ par nougitch ] Bonjour, J'utilise un script (présent sur ce site, j'en remercie l'auteur au passage) qui permet de vérifier de manière simple, la validité d'une a Verif de champs et autre... [ par Farfadam ] Bonjour à tous,j'ai créé un formulaire de contact qui fonctionne impec, le s trés urgent svp !!!!!!!!!!!!!!!! [ par graph2007 ] bjr tous le mondej'ai un petit question est j'espère que vous m'aider le plus vite possibleje suis null en javascript, mais je doit realiser un formul Colorer champs formulaire apres validation [ par socket77 ] Mon code envoie bien des erreur si les champs ne sont pas valides mais ne les colore pas en rouge comme prévu.. Une idée? merci function check() { Formulaire qui complete une adresse web [ par infosecur ] Bonjour, Je voudrais savoir comment faire pour que ma zone de texte puis etre incorporer dans une adresse web. J'ai essayer plusieur possibilité mais données d'un formulaire [ par vincmori ] Bonjour à tous, désolé pour le choix de thème?? voici ma question: j'ai inséré sur un site web un simple formulaire de réservation pour un resto. C Commet recevoire une formulaire sur sa boite mail [ par hakim3129 ] Salut tous le monde je vient d'héberger une page php avec un formulaire dessus et je voudrai savoir comment on fait pour recevoir les information du 


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales