CSI 3540 - Laboratoire 7

* Objectifs

  - Introduction à la gestion des événements du DOM niveau 2
  - Comprendre les trois phases de gestion, capture, cible et bouillonnement
  - Savoir utiliser la gestion des événements afin de valider
    les informations des formulaires avant d'envoyer l'information
    au serveur

Note: Utilisez Firefox, Chrome, Safari ou tout autre navigateur qui
implémente le DOM de niveau 2.

1. Vous devez modifier la page ci-dessous (ajout de JavaScript et CSS
   si nécessaire) afin que l'élément au-dessus duquel se trouve la
   souris soit mis en évidence.

   Assurez de remettre l'élément tel qu'il était lorsque la souris se
   sera déplacée vers un autre noeud du DOM et assurez-vous que vos
   modifications n'interfèrent pas avec les fonctionnalités existantes
   de la page.

   Pour cette question, vous devez utiliser des gestionnaires en phase
   'target'.

   src/01/index.html
   src/01.jar (xhtml + JavaScript + css + images)

2. Reprenez la question ci-haut, mais cette fois-ci n'utilisez qu'un
   seul gestionnaire (pour chaque type d'événement). Expérimentez
   avoir les modes capture et bubbling. Dans ce cas-ci, est-ce que
   l'un ou l'autre de ces deux modes est favorable?

3. Modifier le formulaire de recherche ci-dessous :

   src/03/index.html
   src/03.jar (xhtml + css + images)

3.1 L'information ne doit pas être transmise au serveur si le champ
    est vide.

3.2 Il faut choisir par l'une des options de recherche possible.

3.3 Si l'option « téléphone » a été sélectionnée, assurez-vous que le
    format du numéro de téléphone est correct. Si le format est
    erroné, n'envoyez pas l'information au serveur, modifié le DOM afin
    d'y ajouter un message d'erreur, sélectionnez le champ pour
    l'entrée de données.

3.4 Si l'option « poste téléphonique » a été sélectionnée,
    assurez-vous que le format est correct. Si le format est erroné,
    n'envoyez pas l'information au serveur, modifié le DOM afin d'y
    ajouter un message d'erreur, sélectionnez le champ pour l'entrée
    de données.

4.  Adaptez l'exemple du menu déroulant du chapitre 5 du livre du
    cours afin de le transformer en menu pour la sélection de valeurs
    associées à un champ de type texte d'un formulaire.

    Screen Capture

    Au prochain laboratoire, vous pourrez modifier cet exemple
    afin que les valeurs soient obtenues dynamiquement du serveur
    à l'aide de Ajax.

    Voici l'exemple du chapitre 5: DropDownMenu.html, DropDownMenu.js.

5. Travaillez sur la partie 3 du projet

* Projet(s)

  Développez une calculette à l'aide de JavaScript et du DOM.

* Liens(s)

  Voici un petit exemple de l'utilisation de JavaScript, du DOM, mais
  aussi du nouvel API de HTML5 pour la sauvegarde d'information côté
  client (à essayer à l'aide d'un navigateur basé sur Webkit, donc
  Chrome ou Safari):

  http://webkit.org/demos/sticky-notes

* Ressources

  developer.mozilla.org/en/Core_JavaScript_1.5_Guide
  www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
  www.yoyodesign.org/doc/w3c/dom2-core/Overview.html
  www.yoyodesign.org/doc/w3c/dom2-events/Overview.html
  www.yoyodesign.org/doc/w3c/dom2-html/Overview.html
  www.yoyodesign.org/doc/w3c/dom2-style/Overview.html
  www.yoyodesign.org/doc/w3c/dom2-traversal-range/Overview.html