tp javascript - Sesamebox.fr

Transcription

tp javascript - Sesamebox.fr
TP JAVASCRIPT
Série N°4
GESTION D’UN FORMULAIRE DE CONTACT
Objectif :
Nous souhaitons réaliser un formulaire de contact comprenant les champs suivants :




NOM
PRENOM
ADRESSE MAIL
MESSAGE
Ci-dessous un exemple de formulaire de contact
De part sa nature JavaScript est incapable d’envoyer un Email, seul un programme de messagerie sur la
machine cliente est capable de réaliser cette opération. Dans ce cas c’est le classique mailto d’HTML qui
appelle le logiciel de messagerie implanté sur la machine. Cette solution impose la présence d’un logiciel de
messagerie. En cas d’absence de ce logiciel l’utilisateur ne pourra pas vous envoyer de mail.
Pour s’affranchir de ce problème, la seule solution est de reporter le traitement d’envoi de mail sur le serveur
web. Le langage php possède la fonction email() assurant l’envoi d’un mail. Il faut passer en paramètres une
IUT St DIE
MMI-2 ProgOE 2016-2017
1
adresse destinataire, un objet, le contenu et un entête. Attention certains hébergeurs n’autorisent pas le
protocole smtp, dans ce cas la fonction email() est inactive.
Afin de vérifier le contenu des champs envoyés par le formulaire à l’aide de JavaScript. Nous utiliserons un
script php qui assure la visualisation de tous les champs en GET ou en POST.
URL :” http:\\sesamebox.fr/mmi/LectureFormulaire.php “
Cette URL sera donc placée sur la propriété action du formulaire et la méthode sera de type ” post “.
1) Création du formulaire
Construisez un formulaire présenté ci-dessus comportant trois champ <input> de type texte et un champ
zone de texte (<textarea>)
Paramètres du formulaire :
action =' http:\\sesamebox.fr/mmi/LectureFormulaire.php'
method = 'post'
Ecrire le code html de ce formulaire puis le tester.
Ci-dessous un exemple d’affichage du formulaire et le résultat envoyé par le script php
IUT St DIE
MMI-2 ProgOE 2016-2017
2
2) Implantation d'un éditeur de texte wysiwyg sur le champs message
On souhaite proposer à l'utilisateur un éditeur de texte wysiwyg permettant d'ajouter une mise en
forme du message.
Nous allons utiliser un plugin JavaScript permettant de transformer une simple zone de saisie
textarea en un éditeur de texte.
Exemple ci-dessous
IUT St DIE
MMI-2 ProgOE 2016-2017
3
Nous allons utiliser le plugin CKEditor disponible sur le site http://ckeditor.com/ sur lequel on
retrouve les différentes versions en téléchargement, et des outils de configuration.
Plusieurs versions sont disponibles. Nous allons évidement utiliser le version open source.
Principe d'implantation du plugin :
Etape 1 : Pour faciliter le TP, télécharger sur le blog la bibliothèque CKEditor configuré pour le TP.
Etape 2 : Extraire le fichier Zip dans le dossier du TP  dossier :ckeditor
Etape 3 : Ajouter dans le <head> du fichier contenant le formulaire l'appel au fichier JavaScript du
plugin : ckeditor.js
<script src="ckeditor/ckeditor.js"></script>
Etape 4 : Il faut ajouter le code JavaScript qui implante le plugin sur la zone de saisie ( textarea )
Ajouter une balise <script> à la fin du body afin que se code soit exécuté après le chargement de
la page.
Dans cette balise il faut faire appel à l'instruction d'initialisation du planning suivante :
var MonEditeur = CKEDITOR.replace( 'message' );
"message" et l'identifiant de la balise <texarea>
Etape 5 : Tester alors le formulaire.
3) Gestion du reset du formulaire
On ajoute une fonction appelée par le bouton de reset du formulaire pour vider la zone de saisie
du message.
Instruction permettant de modifier le contenu de la zone de texte gérée par le plugin et de la vidée
ci-dessous :
MonEditeur.setData("");
4) Lecture du contenu de l'éditeur
On souhaite lire le contenu de l'éditeur et l'afficher ensuite dans une <div>. Ajouter une balise
<DIV> sous le formulaire et un bouton appelant une fonction assurant la lecture du contenu de
l'éditeur dans une variable puis le transfert de cette variable dans la div.
Code permettant la lecture du contenu de l'éditeur :
var ContenuEditeur = MonEditeur.getData();
IUT St DIE
MMI-2 ProgOE 2016-2017
4
5) Afficher le code source HTML contenu dans l'éditeur
Pour afficher le code HTML sans l'interpréter il faut copier le code source dans une balise
spécifique qui ne décode pas le code HTML. Vous devez utiliser la balise <xmp> qui n'interprète
pas les balises HTML.
Complétez le fonction de la question précédente avec le code nécessaire pour transférer le
contenu de la variable dans la balise <xmp>.
6) Modifier la barre de bouton de l'éditeur
Dans la bibliothèque télécharger sur le blog on trouve dans le fichier index.html dans le dossier
ckeditor/samples
Ouvrir le fichier index, ce fichier présente le plugin et propose par exemple un outils de
configuration de la barre d'outils.
Il est possible d'utiliser cet outils pour modifier le fichier de configuration du plugin config.js présent
dans le dossier ckeditor.
Il est également possible de modifier certains paramètres dans le fichier config.js : couleur de la
barre d'outils, taille de la zone d'édition.
IUT St DIE
MMI-2 ProgOE 2016-2017
5