Académique Documents
Professionnel Documents
Culture Documents
PROGRAMMATION JAVASCRIPT
Charles COLSON
Programmation Javascript
PROGRAMMATION JAVASCRIPT
Charles COLSON
Sommaire I. Introduction II. Les bases III. La notion dobjets IV. Les variables V. Les fonctions VI. Les conditions VII. Les boucles VIII. Les tableaux IX. Les vnements X. Lobjet window XI. Lobjet date XII. Lobjet math 2 3 4 5 6 8 9 11 12 13 14 17 18
Charles COLSON
Programmation Javascript
I. Introduction
Avant de commencer ce tutorial sur le Javascript, il faut bien matriser le HTML : il sagit dune extension qui est inclue dans le code. Grce au Javascript vous allez pouvoir apporter des amliorations au langage HTML en permettant d'excuter des commandes. Pour faire des pages avec du Javascript vous devez avoir : Un diteur de texte pour crer les pages (bloc notes par exemple), il faudra veiller enregistrer les pages au format .htm et non .txt Un navigateur Internet pour afficher les pages cres (Internet explorer par exemple) Afin de mieux comprendre chaque lment, il est recommand de tester chaque exemple de ce cours.
Charles COLSON
Programmation Javascript
Charles COLSON
Programmation Javascript
Pour reprer le premier objet (un champ de formulaire dont le nom est objet1 ) : window.document.forms[0].objet1 On commence par lobjet le plus grand : window (la fentre du navigateur) On poursuit avec lobjet juste un peu plus petit : document (la page html) On continue avec lobjet juste un peu plus petit : forms[0] (le formulaire) On termine en prcisant le nom de lobjet : objet1 Sachez que pour une page avec des frames (donc englobant plusieurs pages) pour dterminer la fentre principale on indique parent et non window. Pour reprer le deuxime objet (une case cocher dont le nom est objet2 ) : window.document.forms[0].objet2 Mme principe que lexemple ci dessus Pour reprer le troisime objet (le texte dun champ de formulaire dont le nom est objet3 ) : window.document.forms[0].objet3.value On commence par lobjet le plus grand et on va jusqu'au champ de formulaire appel objet3 On termine en prcisant quon veut le texte entr en ajoutant .value (comme lattribut en HTML) Maintenant que nous savons comment fonctionne la notion dobjets, voici un exemple pour afficher du texte directement sur la page : <SCRIPT language="Javascript"> Ce qui apparatra lcran : window.document.write("Coucou") ; Coucou </SCRIPT> On commence par appeler llment avec lequel on veut travailler (il sagit de la page) donc window.document On poursuit en indiquant que lon souhaite crire sur llment grce write() On inscrit dans les parenthses ce que lon souhaite voir safficher : coucou Sachez quil est aussi possible de mettre des balises HTML dans un write(). B. Objets, proprits, mthodes et classes La notion dobjet fait appel ces diffrents thmes, il est impratif de bien connatre leur signification pour comprendre la suite de ce cours. En fait, il existe des classes qui reprsentent des familles dobjets ayant une structure et un comportement commun. Pour un objet on peut appliquer soit une proprit qui reprsente ses caractristiques (pour reprendre un exemple prcdent : window.document.forms[0].objet3.value) ou alors une mthode qui reprsente un outil sappliquant aux objets dune classe (pour reprendre un exemple prcdent : window.document.write("Coucou")).
Charles COLSON
Programmation Javascript
Charles COLSON
Programmation Javascript
C. Quotes <SCRIPT language="Javascript"> Ce qui apparatra lcran : prenom var prenom = 'James'; document.write ("prenom") ; </SCRIPT> La variable prenom entre doubles quotes ne permet pas dafficher son contenu En utilisant uniquement les simples quotes, il faudra mettre des antislash : <SCRIPT language="Javascript"> Ce qui apparatra lcran : document.write ('C\'est moi !') ; Cest moi ! </SCRIPT> En utilisant uniquement les doubles quotes, il faudra mettre des antislash : <SCRIPT language="Javascript"> Ce qui apparatra lcran : document.write("C'est du Cest du Javascript \"Javascript\"") ; </SCRIPT> D. Fonction types <SCRIPT language="Javascript"> Ce qui apparatra lcran : var coucou="test"; string var type = typeof(coucou); window.document.write(type); </SCRIPT> La fonction typeof() permet de renvoyer le type de la variable entre parenthses (ici coucou) String = chane de caractres, number = nombre, boolean = boolen, undefined = autre. E. Proprits et mthodes Longueur & Nombre <SCRIPT language="Javascript"> Ce qui apparatra lcran : var coucou="test"; 4 nb = coucou.length; window.document.write(nb); </SCRIPT> En ajoutant la proprit .length on peut connatre la longueur dune variable. Ici coucou qui est gale test contient 4 caractres Il faut savoir que cette proprit peut sappliquer sur de nombreux objets, par exemple dans un tableau elle renverra le nombre dentres. Sous chane <SCRIPT language="Javascript"> Ce qui apparatra lcran : var mot = "facile le js !"; acil var Resultat = mot.substring(1,5) ; window.document.write(Resultat); </SCRIPT> La mthode subtring() permet dextraire les caractres 1 5 de lobjet mot Minuscules & Majuscules <SCRIPT language="Javascript"> Ce qui apparatra lcran : var mot = "Facile LE Javascript"; facile le javascript var Resultat = mot.toLowerCase(); window.document.write(Resultat); </SCRIPT> La mthode toLowerCase() permet de convertir lobjet mot en minuscules, les autres caractres sont laisss tels quels Linverse de la mthode toLowerCase() (pour passer le tout en majuscules) est toUpperCase.
Charles COLSON
Programmation Javascript
Charles COLSON
Programmation Javascript
Charles COLSON
Programmation Javascript
B. Le Switch Pour en finir avec les conditions voyons une autre forme conditionnelle : <SCRIPT language="Javascript"> Ce qui apparatra lcran : var saison = "t" ; switch (saison) { case "printemps": alert("C'est le printemps") ; break case "t": alert("C'est l't") ; break case "automne": alert("C'est l'automne") ; break case "hiver": alert("C'est l'hiver"); break default: alert("Saison inconnue") ; } </SCRIPT> switch (saison){} fonction conditionnelle, on indique entre parenthses la variable avec laquelle on travaille (ici saison). case "printemps": pour le cas saison gale printemps on indique ce quil faut faire (ici on affiche C'est le printemps par lintermdiaire dun alert). Vous noterez quavec cette fonction on ne peut faire qugal case "t": pour le cas saison gale t on indique ce quil faut faire (ici on affiche C'est lt par lintermdiaire dun alert) et ainsi de suite pour tous les cas Break doit tre plac la fin de chaque cas, il permet de faire sortir Javascript du switch Default : cela indique le cas pour toute autre possibilit
Charles COLSON
Programmation Javascript
10
Charles COLSON
Programmation Javascript
11
Charles COLSON
Programmation Javascript
12
V. Les vnements
Un vnement est une action de lutilisateur qui va provoquer une interactivit. Voici une liste des diffrents vnements.
Evnement Click (onClick) Load (onLoad) Unload (onUnload) Description Se produit lorsque l'utilisateur clique sur l'lment associ l'vnement Elments Lien hypertexte, Bouton, Case cocher, Bouton radio, Bouton Reset Page du navigateur Page du navigateur Lien hypertexte Lien hypertexte Liste de slection d'un formulaire, Champ de texte et zone de texte Liste de slection d'un formulaire, Champ de texte et zone de texte Liste de slection d'un formulaire, Champ de texte et zone de texte Champ de texte et zone de texte Bouton denvoi de formulaire
Se produit lorsque le navigateur de l'utilisateur charge la page en cours Se produit lorsque le navigateur de l'utilisateur quitte la page en cours
MouseOver Se produit lorsque l'utilisateur positionne le curseur de la souris au-dessus d'un (onMouseOver) lment MouseOut (onMouseOut) Focus (onFocus) Blur (onBlur) Change (onChange) Select (onSelect) Submit (onSubmit) Se produit lorsque le curseur de la souris quitte un lment Se produit lorsque l'utilisateur donne le focus un lment, c'est--dire que cet lment est slectionn comme tant l'lment actif Se produit lorsque l'lment perd le focus, c'est--dire que l'utilisateur clique hors de cet lment, celui-ci n'est alors plus slectionn comme tant l'lment actif
Se produit lorsque l'utilisateur modifie le contenu d'un champ de donnes Se produit lorsque l'utilisateur slectionne un texte (ou une partie d'un texte) dans un champ de type "text" ou "textarea" Se produit lorsque l'utilisateur clique sur le bouton de soumission d'un formulaire
Voici un exemple : <a href="#" onClick="alert('Tu viens Ce qui apparatra lcran : de cliquer !') ;">Cliquez ici!</a> Cliquez ici Puis aprs un clique :
On indique quen cas de clique sur le lien (vnement) il y aura une action. Pas la peine de mettre la balise <script> car on travaille directement sur une balise, ici <a> (lien hypertexte). On place donc onClick comme attribut dans la balise <a> On ne souhaite pas que le lien redirige vers une page donc on indique # dans lattribut href On ajoute aprs le onClick laction excuter entre doubles quotes, juste aprs un = (ici cest un alert('Tu viens de cliquer !'))
Charles COLSON
Programmation Javascript
13
V. Lobjet window
Voici des lments qui permettent de manier les fentres du navigateur. Alert() <SCRIPT language="Javascript"> alert("Test du alert") ; </SCRIPT> Ce qui apparatra lcran :
Lutilisateur na que la possibilit de cliquer sur OK Confirm() <SCRIPT language="Javascript"> Ce qui apparatra lcran : if confirm("Test du confirm") { alert("Tu as cliqu sur OK") ; } else { alert("Tu as cliqu sur annuler") ; } </SCRIPT> La mthode renvoie la valeur de true quand lutilisateur clique sur OK (passera donc dans le if) et false dans le cas contraire (else) Prompt() : invite de commande <SCRIPT language="Javascript"> var reponse = prompt("Test du prompt","Votre rponse") ; </SCRIPT> Ce qui apparatra lcran :
On indique entre doubles quotes le texte dinvite puis toujours entre doubles quotes, spars par une virgule, le texte du champ de saisie La mthode renvoie la valeur saisie par lutilisateur ou NULL sil na rien saisi dans la variable reponse Open() : permet douvrir une nouvelle fentre <SCRIPT language="Javascript"> Ce qui apparatra lcran : window.open("http://www.site.com","T itre","resizable=no, width=100"); </SCRIPT>
On indique tout dabord lurl de la fentre ouvrir entre doubles quotes, ici http://www.site.com On prcise aprs une virgule entre doubles quotes le nom de la fentre, ici Titre Charles COLSON Programmation Javascript 14
On prcise enfin lensemble des options spares par des virgules, ici resizable, width Voici les diffrentes options possibles :
Option Description Affiche ou non les boutons de navigation directory = yes/no Affiche ou non la barre d'adresse location = yes/no Affiche ou non la barre de menu (fichier, dition, ...) menubar = yes/no Dfinit si la taille de la fentre est modifiable ou non resizable = yes/no Affiche ou non les ascenseurs (barres de dfilement) scrollbars = yes/no Affiche ou non la barre d'tat status = yes/no Affiche ou non la barre d'outils toolbar = yes/no width = largeur (en pixels) Dfinit la largeur height = hauteur (en pixels) Dfinit la hauteur
Close() : permet de fermer une fentre <A href="#" onClick="window. close() ;">Cliquez ici pour fermer la fentre</A>
Ce qui apparatra lcran : Cliquez ici pour fermer la fentre Puis aprs un clique :
On prcise qu laction de clique (onClick) il y aura un vnement sur llment window (correspond la page actuelle) de fermeture (close()) Status : message temporaire lors du chargement de la page <SCRIPT language="Javascript"> Ce qui apparatra lcran : window.status="test"; </SCRIPT>
DefaultStatus : message dans la barre de statut <SCRIPT language="Javascript"> Ce qui apparatra lcran : window.defaultStatus="test"; </SCRIPT>
History.go() : aller sur une autre page de lhistorique <A HREF="#" Ce qui apparatra lcran : onClick="window.history.go(Retour 1) ;">Retour</A> Suivant <br> <A HREF="#" onClick="window.history.go(+1) ;">Su ivant</A> On prcise qu laction de clique (onClick) il y aura un vnement sur llment window (correspond la page actuelle) dhistorique (history()) qui correspondra la page prcdente avec le paramtre 1 et la page suivante avec +1.
Charles COLSON
Programmation Javascript
15
Location : rediriger vers une autre page <SCRIPT language="Javascript"> Ce qui apparatra lcran : window.location.href = (la page http://www.site.com) "http://www.site.com"; </SCRIPT> Lobjet location avec la proprit href permet de faire une redirection vers la page http://www.site.com AddFavorite() : mettre une page dans les favoris <a href="#" Ce qui apparatra lcran : onClick="window.external.AddFavorite ('http://www.site.com', 'Ouais, ajoute mon site !') ;">Lien</a>
Lobjet external avec la mthode AddFavorite permet de demander lutilisateur de mettre le site http://www.monsite.com avec comme nom par dfaut Ouais, ajoute mon site ! en Favoris AddFavorite() : mettre une page dans les favoris <a href="#" Ce qui apparatra lcran : onClick="window.external.AddFavorite ('http://www.site.com', 'Ouais, ajoute mon site !') ;">Lien</a>
Lobjet external avec la mthode AddFavorite permet de demander lutilisateur de mettre le site http://www.monsite.com avec comme nom par dfaut Ouais, ajoute mon site ! en Favoris
Charles COLSON
Programmation Javascript
16
V. Lobjet date
Voici une classe qui permet de se reprer dans le temps. <SCRIPT language="Javascript"> Ce qui apparatra lcran : var dateobjet = new Date() ; hh : mm window.document.write("Il est : " + dateobjet.getHours() +":"+dateobjet.getMinutes()+" heures") ;</SCRIPT> On commence par crer un objet dateobjet en lui attribuant la classe date() : new date() On lui demande dafficher lheure avec la mthode getHours() de lobjet dateobjet quon a cr juste auparavant Il est galement possible de dfinir une date prcise : <SCRIPT language="Javascript"> Ce qui apparatra lcran : var dateobjet = new Date(2000,0,1) ; </SCRIPT> On cre un objet dateobjet en lui attribuant la classe date() en crivant : new date() On indique entre parenthses la classe date() lanne, le mois et le jour. (ici le 1er janvier 2000) Les paramtres sindiquent ainsi dans la classe date() : year, month, day, hours, minutes, seconds ou year, month, day. Voici une liste de mthodes qui peuvent sappliquer aux objets de la classe Date :
Mthode getDate() Description Permet de rcuprer la valeur du jour du mois (entier entre 1 et 31) Permet de rcuprer la valeur du jour de la semaine pour la date spcifie (entier qui correpond au jour de la getDay() semaine 0 pour dimanche, 1 pour lundi) getHour() Permet de rcuprer la valeur de l'heure (entier entre 0 et 23) getMinutes() Permet de rcuprer la valeur des minutes (entier entre 0 et 59) getMonth() Permet de rcuprer le numro du mois (entier entre 0 et 11, 0 : janvier, 1 : fvrier) getYear() Permet de rcuprer le nombre dannes depuis 1900. er getTime() Permet de rcuprer le nombre de secondes depuis le 1 janvier 1970 (date de cration dUnix)
Charles COLSON
Programmation Javascript
17
Charles COLSON
Programmation Javascript
18