Bienvenue visiteur (Inscription |  Connexion)
Qui est en ligne ?
Il y a : 15 utilisateurs en ligne, consultez le détail
Auteur Message
lecharcutierdelinux
#0 Message posté le : 19-03-2008 à 11:45:18


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-01-2003
Nombre de messages : 527
Bonjour à tous,

On m'a demandé de créer un popup de confirmation javascript de mon formulaire avant envoi.
Mon formulaire contient des listes déroulantes, checkbox, zone de saisie...

Avez-vous une idée pour faire apparaitre une fenêtre du genre,

"Voici les données que vous avez saisi, confirmer en validant par OK:
Societe d'arrivée: Renault
Service : Achats
..."

Jusqu'à présent ces données sont déja traité mais envoyé par mail. Toutes les données sont regroupées dans la variable $fiche :


$arrivee_date=$_POST['arrivee_date'];

$arrivee_nom=$_POST['arrivee_nom'];

$arrivee_prenom=$_POST['arrivee_prenom'];

$date_naissance=$_POST['date_naissance'];

$lieu_naissance=$_POST['lieu_naissance'];

$numero_secu=$_POST['numero_secu'];

$arrivee_societe=$_POST['arrivee_societe'];

$arrivee_fonction=$_POST['arrivee_fonction'];

$arrivee_duree=$_POST['arrivee_duree'];

$arrivee_orange=$_POST['arrivee_orange'];

$arrivee_job=$_POST['arrivee_job'];

$arrivee_create_mail=$_POST['arrivee_create_mail'];

$arrivee_new_pc=$_POST['arrivee_new_pc'];

$office=$_POST['office'];

$sap=$_POST['sap'];

$arrivee_pc_recup=$_POST['arrivee_pc_recup'];

$arrivee_other_softwares=$_POST['arrivee_other_softwares'];

$arrivee_internet=$_POST['arrivee_internet'];

$arrivee_voiture_fonction=$_POST['arrivee_voiture_fonction'];

$arrivee_cb=$_POST['arrivee_cb'];

$arrivee_telepeage=$_POST['arrivee_telepeage'];

$arrivee_tel_mobile=$_POST['arrivee_tel_mobile'];

$section=$_POST['section'];

$destinataire_fiche=$_POST['destinataire_fiche'];

$arrivee_partages=$_POST['arrivee_partages'];



if (empty($arrivee_nom) or empty($arrivee_prenom)) {

echo "<p align='center'>&nbsp;</p>";

echo "<p align='center'><img src='./Pics/button_cancel.png' width='80' height='80'></p>";

echo "<p align='center'>Erreur de saisie. V&eacute;rifier les donn&eacute;es:<br>";

echo "- Nom et Pr&eacute;nom. </p>";

exit;

}



//Mise en Forme Arrivee

$message="-Arrivée de Mr/Mme: $arrivee_nom $arrivee_prenom.";

$message.="\n";

$message.="-Date Naissance: $date_naissance.";

$message.="\n";

$message.="-Lieu Naissance: $lieu_naissance.";

$message.="\n";

$message.="-Numero de Secu: $numero_secu.";

$message.="\n";

$message.="-Date prévue: $arrivee_date.";

$message.="\n";

$message.="-Dans la société: $arrivee_societe.";

$message.="\n";

$message.="-En tant que : $arrivee_fonction.";

$message.="\n";

$message.="-Service : $section.";

$message.="\n";

$message.="-fonction : $arrivee_job.";

$message.="\n";

$message.="-Poste à durée: $arrivee_duree.";

$message.="\n";

$message.="-Interviendra dans les sociétés suivantes :";

if (isset($_POST['arrivee_mobilite_societe'])) {

    for ($i = 0, $c = count($_POST['arrivee_mobilite_societe']); $i < $c; $i++) {

        $message.= "\n". $_POST['arrivee_mobilite_societe'][$i];

    }

}

$message.="\n";

$message.="-Prevoir une carte Orange ? $arrivee_orange.";

$message.="\n";

$message.="-Création email ? $arrivee_create_mail.";

$message.="\n";

$message.="-Voiture de fonction ? $arrivee_voiture_fonction.";

$message.="\n";

$message.="-Téléphone mobile ? $arrivee_tel_mobile.";

$message.="\n";

$message.="-Carte Bleue ? $arrivee_cb.";

$message.="\n";

$message.="-Badge Télépéage ? $arrivee_telepeage.";

$message.="\n";

$message.="-Besoin de PC: $arrivee_new_pc.";

$message.="\n";

$message.="-Récupère le PC suivant (facultatif): $arrivee_pc_recup.";

$message.="\n";

$message.="-Créer compte SAP: $sap.";

$message.="\n";

$message.="-Partages sur le reseau: $arrivee_partages.";

$message.="\n";

$message.="-Pack Microsoft Office: $office.";

$message.="\n";

$message.="-Logiciels supplémentaires suivants (facultatif): $arrivee_other_softwares.";

$message.="\n";

$message.="-Acces Internet ? $arrivee_internet.";

$message.="\n";

$message.="-Ce formulaire a été rempli par : ".$_SESSION['user'].".";

$message.="\n";

$message.="-Societe : ".$_SESSION['societe_user'].".";





$fiche_formatted=nl2br(addslashes($message));

$fiche=$message;



D'avance merci

-------------------------------------
Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0.
nonoland
#1 Message posté le : 19-03-2008 à 13:10:29


Hobbit


Forum : Inscrit
Association :
Arrivé(e) le : 17-01-2004
Nombre de messages : 1703
Mon formulaire contient des listes déroulantes
tu es sûr que ce ne sont pas des listes déroutantes plutôt ?
ok je sors

-------------------------------------
Linux user #377793
Petition Free IPv6 # 18366
jblecanard
#2 Message posté le : 19-03-2008 à 13:10:56


Elfe


Forum : Modérateur
Association : Membre fondateur
Arrivé(e) le : 08-01-2005
Nombre de messages : 3998
Salut

le problème avec tout ce qui est javascript, c'est que n'importe quel mec pourra le désactiver sans problème ! Il vaut mieux une page de confirmation en dur. Mais bon, si le patron a imposé...

Si tu dois aller vite : regarde ces deux liens dans l'ordre :

http://www.toutjavascript.com/savoir/savoir15.php3 pour la base sur les popups
http://www.allhtml.com/articles/detail/593 un très bel exemple de code non intrusif : indispensable !

Pour faire plus beau et plus propre, si tu en as le temps, utilise jQuery et thickbox qui font des trucs sympas et eux aussi non intrusifs.

N'hésite pas à en demander plus

-------------------------------------
C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon -
lecharcutierdelinux
#3 Message posté le : 19-03-2008 à 13:47:24


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-01-2003
Nombre de messages : 527
Merci JB,

J'ai regardé tes sites web et j'ai à peu près compris la syntaxe de création , par contre je sais pas comment lier mes valeurs récupérées dans des variables PHP et le javascript?

J'aimerais récupéré simplement la variable $fiche (qui contient toutes les valeurs) et l'afficher dans le popup, un simple equivalent de echo $fiche en dessus du bouton "confirmer"


D'avance merci!

-------------------------------------
Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0.
jblecanard
#4 Message posté le : 19-03-2008 à 18:12:20


Elfe


Forum : Modérateur
Association : Membre fondateur
Arrivé(e) le : 08-01-2005
Nombre de messages : 3998
Tu dois procéder en deux étapes :

- Il faut que le formulaire t'envoie sur une page qui réaffiches les données en les gardant dans des champs "hidden", et propose un bouton submit pour valider. En gros, la soumission du formulaire se fait en deux fois avec une page de confirmation. TOUT en php.

- La deuxième étape consiste simplement à faire apparaître la page de confirmation dans une popup au lieu de la faire apparaître en dur, puis de faire en sorte que la popup se ferme.


Si tu n'as jamais fait de javascript, tu vas ramer un peu. Si tu veux apprendre le javascript, il faut ramer. Si tu ne veux pas, et que t'as un peu de patience, je peux te coder ça en deux coups de cuillère à pot en rentrant chez moi ce soir. A toi de voir...

-------------------------------------
C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon -
lecharcutierdelinux
#5 Message posté le : 25-03-2008 à 14:09:23


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-01-2003
Nombre de messages : 527
Bon alors j'ai gratouillé un peu sur le net et j'en suis là:

Mon formulaire s'appeller "form1" (super original).

Mon bouton submit avant:

<input name="Submit" type="submit" id="Submit" value="Envoyer"/>


Mon bouton submit après

<input name="Submit" type="submit" id="Submit" value="Envoyer" onclick="if (confirm('Attention votre formlaire va être envoyé')) { document.forms.form1.submit(); } else  { exit; }"/>


Le Popup s'affiche bien mais que je clique "annuler" ou "ok" dans les deux cas le traitement se fait, c'est à dire ouvrir la page "traitement_formulaire.php".

Qqun a une idée? Manque t'il qqchose?

D'avance merci

-------------------------------------
Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0.