Le langage Javascript

Documents pareils
Document Object Model (DOM)

TP JAVASCRIPT OMI4 TP5 SRC

Présentation du Framework BootstrapTwitter

Spécifications techniques

Séance d ED n 5 : HTML et JavaScript

DOM - Document Object Model

Guide de réalisation d une campagne marketing

2 LES BASES DU HTML 19 Qu est-ce que le HTML? 20 De quand date le HTML? 20 Écrire son propre code HTML 22

Tutoriel : Feuille de style externe

Canvas 3D et WebGL. Louis Giraud et Laetitia Montagny. 9 Avril Université Lyon 1

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Optimiser pour les appareils mobiles

Manuel d utilisation du module Liste de cadeaux PRO par Alize Web

CERTIFICAT INFORMATIQUE ET INTERNET NIVEAU 1

Formation HTML / CSS. ar dionoea

Sommaire : Pourquoi créer un site web? Qu est-ce qu un site Web? Les différents types de sites. Quelles solutions peuvent être employées?

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

UN SITE WEB RESPONSIVE EN UNE HEURE?

INCORPORER EXCEL EN LIGNE DANS UN FICHIER CRÉÉ AVEC L ÉDITEUR DE TEXTE 15 avril 2015

Bernard Lecomte. Débuter avec HTML

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Initiation à html et à la création d'un site web

MAILING KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Styler un document sous OpenOffice 4.0

Optimiser les performances d un site web. Nicolas Chevallier Camille Roux

Manuel Utilisateur. Boticely

1 è r e étape : créer sa base de d o n n é e s

ENVOI EN NOMBRE DE Mails PERSONNALISES

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

Formation Webmaster : Création de site Web Initiation + Approfondissement

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP

Webmaster / Webdesigner / Wordpress

Utilisation de l éditeur.

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

Comment se connecter au VPN ECE sous vista

Introduction à Expression Web 2

Introduction à Eclipse

Créer un site Web : mode d emploi Sous SPIP, avec le squelette «établissement» de l académie de Versailles

Comment l utiliser? Manuel consommateur

1. Visualiser la «carte» de mon réseau social

< Atelier 1 /> Démarrer une application web

Mozilla Firefox 3.5. Google Chrome 3.0 LES NAVIGATEURS WEB. (pour Windows) Opéra 10. Internet Explorer 8. Safari 4.0

WIMS. Découvrir et utiliser

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

Manuel Utilisateur ENTREPRISE Assistance téléphonique : (0.34 / min)

MO-Call pour les Ordinateurs. Guide de l utilisateur

Ces Lettres d informations sont envoyées aux extranautes inscrits et abonnés sur le site assistance (voir point N 3).

Parcours guidé : créer des pages simples au format html avec Nvu 28/1/10

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

HTML. Notions générales

Notes pour l utilisation d Expression Web

Programmation Web TP1 - HTML

PLANIFIER UNE RÉUNION AVEC DOODLE

Formulaire pour envoyer un mail

ScolaStance V6 Manuel vie scolaire

RESPONSIVE DESIGN : Comment offrir à vos sites une adaptabilité parfaite?

Construction d un Site Internet Dynamique avec Joomla René-Yves Hervé, Ph.D.

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013

Thème : Gestion commerciale

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

CREATION d UN SITE WEB (INTRODUCTION)

NOTICE TELESERVICES : Demander un état hypothécaire

Comment développer et intégrer un module à PhpMyLab?

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var - E mail : bij@agasc.fr / Tel : CONSIGNE N 1 :

Les bases de données. Se familiariser avec Base. Figure 1.1A Ouvre le fichier dont tu as besoin. Lance OpenOffice Base.

Pratique et administration des systèmes

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

ING & NEWSLETTER NEWSLETTER RESPONSIVE

Création d un formulaire de contact Procédure

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

Logiciel SuiviProspect Version Utilisateur

La messagerie électronique

Outil de télédéclaration fiscale

EVOLUTION 7.1 Déroulement DREAM INFO 1 Dossier 23 Ciel Gestion Commerciale.

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Guide de l utilisateur : Etat du dossier au Service Client (EMEA)

Partie publique / Partie privée. Site statique site dynamique. Base de données.

Projet en nouvelles technologies de l information et de la communication

SUPPORT DE COURS / HTML

Guide d utilisation pour W.access - Client

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006

PREMIERE UTILISATION D IS-LOG

INTRODUCTION AU CMS MODX

TP1 : Initiation à Java et Eclipse

Utiliser Reporting Services pour des NewsLetter

Travaux dirigés n 10

RESPONSIVE WEB DESIGN

Manuel d installation de Business Objects Web Intelligence Rich Client.

Guide de l utilisateur du Centre de gestion des licences en volume LICENCES EN VOLUME MICROSOFT

Tutorial NL220. Objectifs : Fournir un guide utilisateur pour NL220. Présenter une méthodologie efficace pour la création de projet

Le publipostage avec Open Office

Normes techniques 2011

Activités HTML. Code: act-html

Antidote et vos logiciels

TP Protocoles SMTP et POP3 avec Pratiquer l algorithmique

mon site web via WordPress

Transcription:

I 44 Le langage Javascript Objectif L objet de ce TP est d illustrer le langage Javascript. Dans un premier temps, nous nous attacherons à comprendre les bases de ce langage. L utilisation avancée (ie l utilisation des objets complexes concernant le document) sera abordée dans le TP suivant. Les documents de référence : http://www.mozilla.org/js/language/ 1 Un document HTML dynamique simple Ecrire un document HTML simple contenant uniquement un title et un message d accueil dans le corps du document ( Bienvenue sur ce site ). 1.1 Du code dans le document En vous inspirant des exemples du cours, ajouter des instructions javascript qui ajoutent le texte suivant au message d accueil ( Texte dynamique ) 1.2 Une boucle Ecrire le code nécessaire pour afficher la table de multiplication d un entier n (une variable dont la valeur est affectée dans le code). Le résultat sera structuré par un tableau. 1.3 Un premier pas vers l interactivité Les formulaires HTML sera présentée plus tard. Cependant, Javascript propose un moyen simple de demander des données à l utilisateur, la fonction prompt(). (http://www.w3schools.com/js/default.asp). Modifier le programme précédent pour que la valeur de n soit demandée à l utilisateur. Modifier le programme précédent pour que la page demande une confirmation avant d afficher le tableau avec la fonction confirm(). Afficher un message pour prévenir l utilisateur que la table va être affichée avec la fonction alert(). 1.4 Les fonctions Modifier votre page pour qu elle utilise maintenant une fonction affichetable(n) que vous définirez. Dans le cas où cette fonction est appelée sans paramètre, elle devra afficher la table de 5. 1.5 Un programme externe Modifier la page précédente pour que la fonction soit définie dans un fichier externe. 2 Une utilisation simple des formulaires Dans cette section, nous allons utilisez intuitivement les formulaires pour rendre une page interactive. Nous allons mettre en place pour cela un petit QCM très simple. Pour le moment nous considèrerons qu un formulaire est un élément html dont le nom est form et qui possède un attribut name qui identifie le formulaire. Il peut contenir des éléments input qui réprésentent les entrées. Chaque entrée possède un attribut type (pour le moment text, radio, ou button). TP I 44 2005 - semestre 2

2.1 Ecrire un formulaire simple Mettre en place un formulaire simple (identifié par le nom qcm ) qui affiche une question et propose trois choix possibles (avec des boutons radio). Vous ajouterez un bouton valider et un champ texte résultat (ce champ texte sera identifié avec un attribut name= resultat ). 2.2 Traiter la réponse Déclarer une variable globale resulat initialisée à pas de réponse. Ecrire une fonction reponse(r) qui prend en paramètre le numéro de la réponse qui modifie la variable resultat ( bravo! ou c est faux! ). En utilisant les évènements onclick(r) sur les boutons radio modifier la valeur de résultat en appelant la fonction reponse. En cas, de clic sur le bouton valider executer une fonction affiche() qui modifie la valeur du champ résultat avec la valeur de resultat. On accède à la valeur d un champ avec un exprrssion de la forme (document.nomformulaire.nomchamp.value=resultat Utiliser la fonction alert pour faire des tests. Ecrire un autre formulaire qui permet saisir votre année de naissance dans un champ et qui affiche votre âge en 2050 quand on clique sur le bouton calculer. 3 Pour aller plus loin (Facultatif lors de la seconde séance) Un des utilisations très courantes de javascript est la vérification coté client de formulaires. Dans un nouvelle page, ecrire un formulaire qui permet à un utilisateur de saisir ses informations personnelles (nom, prénom, age, email). Ajouter trois boutons valider, tester et effacer (de type reset). Quand on clique sur le bouton afficher une alerte si un des champ est vide et dire lequel. Vérifier que l age est bien un nombre. On peut produire un résultat simple en écrivant le résultat (un document html dans un autre fenetre). On procède en deux temps : 1. On ouvre un nouvelle fenêtre : result=open("","resultat","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=1, resizable=1, top=1, left=50, width=500, height=200"); 2. On ecrit le code HTML à l intérieur avec plusieurs : result.document.write(...). Modifier votre page pour qu un clic sur bouton valider vérifie les champs et ouvre un page HTML qui affiche les informations sous forme de tableau. Peux-t-on vérifier les champs au fur et à mesure de la saisie (regarder les autres types d évènements)? Ecrivez une application javascript qui permet de présenter un QCM sous la forme d un formulaire HTML puis qui affiche les résultats dans une autre page. 4 Les objets du navigateur Dans cette partie vous allez expérimenter les objets de javascript associés au navigateur : navigator window document Nous allons illustrer l utilisation de ces différents objets. Pour connaitre la définition de chacune des classes (propriétés et méthodes), vous vous reportez au site suivant : http://fr.selfhtml.org/javascript/objets/index.htm. Pour les exercices suivants créer un document HTML minimal testjs.html. 4.1 L objet navigator A l aide de l objet navigator, affichez dans le document HTML les informations concernant le navigateur utilisé (type de navigateur et sa version, langue,... ). En utilisant, le parcours d un tableau afficher la liste des plugins disponibles dans un tableau HTML. TP I 44 2 2005 - semestre 2

4.2 L objet window En fait, nous l avons déjà utilisé mais il peut être omis si l on désigne un objet de la fenêtre courante. Cet objet permet d accéder à l adresse à travers laquelle on accède au document (location), au contenu du document (document), à l historique de navigation (history) et plus encore. En utilisant l objet location, afficher le nom du serveur et le chemin pour atteindre le document. En utilisant l objet history, ajouter un bouton qui permet de revenir au document précédement contenu dans la fenêtre quand on clique dessus. open(), prompt et alert() sont en fait des méthodes de window. Différentes méthodes permettent de déplacer la fenêtre (moveto()) ou son contenu (scrollby()). En enregistrant la valeur de retour de la méthode open dans une variable. Ouvrir une nouvelle fenêtre (sans barre d outils) et écrire le message hello à l intérieur. Ajouter un bouton qui permet de déplacer la fenêtre de 10px vers la droite. 5 L arbre du document et javascript 5.1 L objet document L objet document est très important, il permet d accéder à l ensemble des éléments qui le compose de plusieurs manières. 5.1.1 Deux éléments spéciaux Les propriétés documentelement et body permettent d accéder respectivement à l élément html et à l élément body. 5.1.2 Accès via les tableaux d élements Javascript range les références vers les éléments dans des tableaux spécifiques (anchors, forms, images, links, stylesheet,... ) dans l ordre de leur apparition (La première image image[0], la cinquième image[4]). La propriété lenght des tableaux permet de connaitre le nombre d éléments. 5.1.3 Les méthodes de parcours du document Les trois méthodes getelementbyid("valeurdeid"), getelementsbyname("valeurattrname") et getelementsbytagname("nomelement") permettent d obtenir un tableau de références vers des éléments en fonction de la valeur de leur attribut id ou de leur attribut name ou bien du nom de l élément. 5.2 L objet node Tous les noeuds du document sont représentés par un objet qui offre en particulier les propriétés suivantes : id, tagname (nom de l élément), nodename (valeur de l attribut name), nodetype (1=élément, 2=attribut, 3=texte) et nodevalue (valeur d un noeud texte ou d un attribut). Mais aussi classname (la valeur de l attribut class) et title (la valeur de l attribut title). Ajouter des paragraphes dans le document. Calculer et afficher automatiquement le nombre de paragraphes. Ajouter un attribut id= unique et un attribut title= Un P unique à l un des paragraphes. Afficher la valeur de l attribut title de ce paragraphe dans le document. Mettez plusieurs paragraphes dans la classe classex et ajouter un titre à chacun. Afficher la liste des titres des paragraphes de la classe classex. TP I 44 3 2005 - semestre 2

5.2.1 Le parcours de l arbre du document Il possible d accéder à d autres noeuds à partir de n importe quel noeud de l arbre du document : la méthode getelementsbytagname("nomelement") est utilisable aussi sur les noeuds. childnodes[] (noeuds textes et éléments fils) et attributes[] (les attributs d un élément) parentnode, firstchild, lastchild, nextsibling, previoussibling accès direct à un élément en fonction des relations généalogiques. Il existe des propriétés particulières pour les éléments table : caption (la légende), cells[] (les cellules du tableau), rows[] (les lignes si l élément est thead, tbody ou tfoot, tbodies[] (les éléments tbody), tfoot et thead (l entête et le pied). Pour les tr et les td, cellindex et rowindex dont la position (colonne, ligne). Ecrire un tableau de 4x4 entiers en HTML d identifiant t et de titre un tableau. Calculer (en javascript) et afficher la somme des entiers de la première colonne. La méthode parseint(s) convertit une chaine en entier. Les méthodes suivantes sont disponibles pour les suppressions : pour un tr : deletecell(cellindex). pour un thead, tbody or tfoot : deleterow(rowindex). pour un thead ou un tfoot : deletetfoot(), deletethead(). Ajoutez un bouton qui supprime la première colonne. Notez que la somme n est pas mise à jour. 5.2.2 La création d attributs et d éléments Pour modifier l arbre du document on procède en deux étapes : On crée un nouvel élément puis on l ajoute au document : 1. Création : Les trois méthodes suivantes createattribute("nom"), createelement("nom") et createtextnode("valeur") s applique sur l objet document et permettent de créer des noeuds dans l arbre du documents. 2. Ajout (appliqué sur un noeud) : appendchild(nouveaunoeud), insertbefore(nouveaunoeud,noeudreference) et replacechild(nouveaunoeud,noeudreference) permet de placer le nouveau noeud (si le noeud existe déjà, il est déplacé). Il est aussi possible d accéder au contenu d un élément (ou de le modifier) avec la propriété innerhtml. Les noeuds peuvent être supprimés avec la méthode removechild(nodereference). Modifier la page pour la somme soit mise à jour lors de la suppression de la 1ere colonne Ajouter un bouton déplacer unique qui définit le paragraphe d id unique comme le premier élément du body. Créer un bouton qui ajoute une colonne d entiers aléatoires (entre 1 et 10) au début du tableau. 5.3 La présentation et javascript Javascript propose un ensemble de méthode et de propriété permettant de préciser la présentation des éléments. Dans le cadre de ce cours, cette approche est déconseillée. A la place nous utiliserons CSS, l utilisation de javascript pourra alors se faire principalement de deux façon soit en modifiant l attribut class (avec la propriété classname) des éléments pour changer la règle qui s applique à l élément, soit en indiquant via la propriété style des propriétés CSS (node.style.backgroundcolor= red ). Ajouter deux boutons qui permettent de changer la couleur de fond du tableau en rouge ou en bleu en modifiant directement le style. Ajouter deux règles CSS qui associent aux éléments des classes tableau1 et tableau2, les couleurs de fond. Ajouter deux boutons qui change la classe du tableau en tableau1 ou tableau2 TP I 44 4 2005 - semestre 2

6 Pour aller plus loin Une page de calcul des moyennes en utilisant HTML, CSS et javascript. Mettez en place une page qui affiche un tableau (vide au début mis à part l en-tête) qui affiche le nom d un éléve, ses notes en français, mathématiques et histoire et sa moyenne. 1. Votre page devra compter un formulaire qui permet de saisir les informations pour ajouter un nouvel élève et ses notes dans le tableau. La moyenne de l élève sera calculée automatiquement. 2. Les noms des élèves reçus (moyenne 10) seront écrits en vert et les autres en rouge. 3. Ecrire une fonction permet de mettre en couleur (passée en paramètre) la notes la plus élevée (pour chaque matière et pour la moyenne) 4. Ajouter un bouton initialiser pour ajouter un élève construit au hasard (vous définirez un tableau de prénoms). 5. Ajouter un formulaire qui permet de saisir le nom d un éléve et son appréciation qui sera affichée à coté du tableau. 6. En utilisant CSS, proposer une solution pour que seule l appréciation de l élève pointé par la souris est affichée. TP I 44 5 2005 - semestre 2