Cours Javascript
Cours Javascript
Cours Javascript
Le langage JavaScript
I. Introduction :
Créer une page HTML nommée "paire_impaire.html" et essayons d’écrire un code nous permettant d’afficher
la parité d’un entier x.
2. Le langage JavaScript :
JavaScript est un langage côté client (comme VbScript) qui est utilisé dans des millions de pages web afin
d'améliorer leur conception.
Il s'agit d'une couche de programmation supplémentaire qui vient s'ajouter au langage HTML.
Le code HTML est le langage de base que toute page Internet se doit d'utiliser. Quant à JavaScript, il a été
conçu pour donner plus d'interactivité aux pages HTML. Le mot script indique qu'il s'agit d'un langage de
programmation simplifié qui s'exécute en local sur l'ordinateur qui est en train de lire la page web par le
browser lui-même sans devoir faire appel aux ressources du serveur.
Attention : Ne confondez pas les commentaires Javascript et les commentaires Html (pour rappel <!-- ...-->).
1
4. Les scripts externes
Il est possible d'utiliser des fichiers externes pour les programmes Javascript. On peut ainsi stocker les scripts
dans des fichiers distincts (avec l'extension .js) et les appeler à partir d'un fichier Html.
L'avantage de cette manière de procéder est que le script peut être utilisé sur plusieurs pages HTML de
manière simple et efficace.
La balise devient :
<SCRIPT LANGUAGE='javascript' SRC='http://site.com/fichier.js'></SCRIPT>
<SCRIPT LANGUAGE='javascript' SRC='fichier.js'></SCRIPT>
Dans cette fenêtre, il y a un document Html. C'est l'objet document. L'objet fenêtre contient l'objet document.
Dans ce document, on trouve un formulaire. C'est l'objet formulaire. Autrement dit, l'objet fenêtre contient un
objet document qui lui contient un objet formulaire.
2
Niveau : 4éme année Section : Informatique Matière : STI
Dans ce document, on trouve trois objets. Ce sont respectivement l'objet radio, l'objet bouton, l'objet texte.
Autrement dit l'objet fenêtre contient l'objet document qui contient l'objet formulaire qui contient à son tour
l'objet radio, l'objet fenêtre contient l'objet document qui contient l'objet formulaire qui contient à son tour
l'objet bouton et l'objet fenêtre contient l'objet document qui contient l'objet formulaire qui contient à son tour
l'objet texte.
radio
texte
alert("chaîne de caractères");
alert(variable + "chaîne de caractères");
Si vous souhaitez écrire sur plusieurs lignes, il faudra utiliser le signe \n.
La méthode prompt() :
Dans le même style que la méthode alert(), Javascript vous propose une autre boîte de dialogue, dans le cas
présent appelée boîte d'invite, qui est composée d'un champ comportant une entrée à compléter par
l'utilisateur. Cette entrée possède aussi une valeur par défaut.
La syntaxe est :
prompt("texte de la boîte d'invite","valeur par défaut");
En cliquant sur OK, la méthode renvoie la valeur tapée par l'utilisateur ou la réponse proposée par défaut. Si
l'utilisateur clique sur Annuler ou Cancel, la valeur null est alors renvoyée.
Prompt() est parfois utilisé pour saisir des données fournies par l'utilisateur. Le texte ne doit cependant pas
dépasser 45 caractères sous Netscape et 38 sous Explorer 3.0.
La méthode confirm() :
Cette méthode affiche 2 boutons "OK" et "Annuler". En cliquant sur OK, confirm() renvoie la valeur true et
bien entendu false si on a cliqué sur Annuler. Ce qui peut permettre, par exemple, de choisir une option dans
un programme.
La syntaxe est (par exemple) :
confirm("Voulez-vous continuer ?")
La méthode open() et close() :
La méthode close() permet de fermer une fenêtre.
La méthode open() permet d’ouvrir une nouvelle fenêtre.
La syntaxe est :
window.open ("URL","nom_de_la_fenêtre","caractéristiques_de_la fenêtre")
URL : est l'URL de la page que l'on désire afficher dans la nouvelle fenêtre. Si on ne désire pas afficher un
fichier htm existant, on mettra simplement ''".
caractérstiques_de_la _fenêtre : est une liste des caractéristiques de la fenêtre que l'on note à la suite,
séparées par des virgules et sans espaces ni passage à la ligne.
Caractéristique Description
toolbar=yes ou no Affichage de la barre d'outils
location=yes ou non Affichage de champ d'adresse (ou de localisation)
directories=yes ou no Affichage des boutons d'accès rapide
menubar=yes ou no Affichage de la barre de menus
scrollbars=yes ou no Affichage des barres de défilement.
width=x en pixels Largeur de la fenêtre en pixels
height=y en pixels Hauteur de la fenêtre en pixels
On peut aussi utiliser 1 ou 0 au lieu de yes ou no.
6
Niveau : 4éme année Section : Informatique Matière : STI
8
Niveau : 4éme année Section : Informatique Matière : STI
else
{
code qui sera exécuté si toutes les conditions ci-dessus sont fausses ;
}
Remarques :
Dans le cas où il n'y a qu'une instruction, les accolades sont facultatives.
Grâce aux opérateurs logiques "et" et "ou", l'expression de test pourra tester une association de conditions :
if (condition1 && condition2), testera si la condition 1 et la condition 2 sont vérifiées.
if (condition1 || condition2), testera si une au moins des conditions est vérifiée .
b. La structure switch :
Si le nombre de conditions devient important dans une structure conditionnelle, on constate que l'écriture et la
lisibilité deviennent problématiques. Mis à part des cas simples à deux ou trois sorties, on préférera donc
utiliser la structure switch qui offre un formalisme simple et clair quel que soit le nombre de cas envisagés.
Syntaxe:
switch (<expression>)
{
case <valeur1> : <traitement de valeur1> ; break ;
case <valeur2> : <traitement de valeur2> ; break ;
......
default : <traitement autres cas> ;
}
9
Remarques :
Le cas default est optionnel. Il permet d'éviter l'apparition d'une erreur lors d'une tentative de traitement
d'un cas non prévu.
Le traitement associé à chaque cas doit assurer la sortie de l'instruction switch. En fait un "case"
représente un accès d'entrée sur la base de la valeur de l'expression, mais en aucun cas la rencontre
séquentielle du "case" suivant ne constitue une sortie de l'instruction switch. Afin d'interrompre
l'exécution, il conviendra de prévoir en dernière instruction de chaque cas (sauf du dernier pour lequel le
problème disparaît) une rupture de séquence. Cela pourra être réalisé par l'instruction break.
10
Niveau : 4éme année Section : Informatique Matière : STI
11
XI. La gestion des événements en Javascript :
En Html classique, il y a un événement que vous connaissez bien. C'est le clic de la souris sur un lien pour
vous transporter sur une autre page Web. Heureusement, Javascript va en ajouter une bonne dizaine, pour
votre plus grand plaisir.
Les événements Javascript, associés aux fonctions, aux méthodes et aux formulaires, ouvrent grand la porte
pour une réelle interactivité de vos pages.
Evénement Description
Clik Lorsque l'utilisateur clique sur un bouton, un lien ou tout autre élément.
Load Lorsque la page est chargée par le navigateur.
Unload Lorsque l'utilisateur quitte la page.
MouseOver Lorsque l'utilisateur place le pointeur de la souris sur un lien ou tout
autre élément.
MouseOut Lorsque le pointeur de la souris quitte un lien ou tout autre élément.
Lorsqu’ un élément de formulaire a le focus c.à.d. devient la zone
Focus
d'entrée active.
Blur Lorsqu’ un élément de formulaire perd le focus c.-à-d. que l'utilisateur
clique hors du champ et que la zone d'entrée n'est plus active.
Change Lorsque la valeur d'un champ de formulaire est modifiée.
Select Lorsque l'utilisateur sélectionne un champ dans un élément de
formulaire.
Submit Lorsque l'utilisateur clique sur le bouton Submit pour envoyer un
formulaire.
12
Niveau : 4éme année Section : Informatique Matière : STI
c. OnmouseOver et OnmouseOut :
L'événement onmouseOver se produit lorsque le pointeur de la souris passe au dessus (sans cliquer) d'un lien
ou d'une image. Cet événement est fort pratique pour, par exemple, afficher des explications soit dans la barre
de statut soit avec une petite fenêtre genre infobulle.
L'événement onmouseOut, généralement associé à un onmouseOver, se produit lorsque le pointeur quitte la
zone sensible (lien ou image).
d. OnFocus :
L'événement onFocus survient lorsqu'un champ de saisie a le focus c.à.d. quand son emplacement est prêt à
recevoir ce que l'utilisateur à l'intention de taper au clavier. C'est souvent la conséquence d'un clic de souris ou
de l'usage de la touche "Tab".
e. OnBlur :
L'événement onBlur a lieu lorsqu'un champ de formulaire perd le focus. Cela se produit quand l'utilisateur
ayant terminé la saisie qu'il effectuait dans une case, clique en dehors du champ ou utilise la touche "Tab"
pour passer à un champ. Cet événement sera souvent utilisé pour vérifier la saisie d'un formulaire.
f. Onchange :
Cet événement s'apparente à l'événement onBlur mais avec une petite différence. Non seulement la case du
formulaire doit avoir perdu le focus mais aussi son contenu doit avoir été modifié par l'utilisateur.
g. Onkeyup :
L’événement onkeyup est déclenché au cours de la saisie d’une zone de texte lorsque l’utilisateur relâche une
touche.
h. Onselect :
Cet événement se produit lorsque l'utilisateur a sélectionné tout ou partie d'une zone de texte dans une zone de
type text ou textarea.
2. Gestionnaires d'événement disponibles en Javascript :
Objets Gestionnaires d'événement disponibles
Fenêtre onLoad, onUnload
Lien hypertexte onClick, onmouseOver, onmouseOut
Elément zone de texte onBlur, onChange, onFocus, onSelect, onKeyup
Elément bouton onClick
Case à cocher onClick
Bouton Radio onClick
Liste de sélection onBlur, onChange, onFocus
Bouton Submit onClick, Onsubmit
Bouton Reset OnClick
3. Changement d'images :
Avec le gestionnaire d'événement onmouseOver, on peut prévoir qu'après le survol d'une image par
l'utilisateur, une autre image apparaisse (pour autant qu'elle soit de la même taille). Le code est:
<HTML>
<HEAD>
<SCRIPT LANGUAGE="Javascript">
function apparaître()
{
document.images["nom_image"].src="image2.gif" ;
}
function disparaître()
{
document.images["nom_image "].src="image1.gif" ;
}
</SCRIPT>
</HEAD>
13
<BODY>
<A HREF="#" onmouseOver="apparaître()" onmouseOut="disparaître()">
<IMG SRC="image1.gif" name="nom_image" width=100 height=50 border=0> </A>
</BODY>
</HTML>
XII. Les formulaires :
Avec Javascript, les formulaires Html prennent une toute autre dimension. N'oublions pas qu'en Javascript, on
peut accéder à chaque élément d'un formulaire pour, par exemple, y aller lire ou écrire une valeur, noter un
choix auquel on pourra associer un gestionnaire d'événement... Tous ces éléments renforceront grandement les
capacités interactives de vos pages.
1. Le contrôle zone de texte :
L'objet text possède trois propriétés :
Propriété Description
name indique le nom du contrôle par lequel on pourra accéder.
defaultvalue indique la valeur par défaut qui sera affichée dans la zone de texte.
value indique la valeur en cours de la zone de texte. Soit celle tapée par
l'utilisateur ou si celui-ci n'a rien tapé, la valeur par défaut.
Affecter le contenu d’une zone de saisie à une variable
Nom var=document.nomformulaire.nomzonedesaisie.value ;
Modifier le contenu d’une zone de saisie
document.nomformulaire.nomzonedesaisie.value = expression ;
Déterminer la largeur d’une zone de saisie en caractères
Nom var=document.nomformulaire.nomzonedesaisie.value.length ;
14
Niveau : 4éme année Section : Informatique Matière : STI
4. Liste de sélection :
L'objet Select possède quatre propriétés :
Propriété Description
name indique le nom de la liste déroulante.
length indique le nombre d'éléments de la liste. S'il est indiqué dans le tag
<SELECT>, tous les éléments de la liste seront affichés. Si vous ne
l'indiquez pas, un seul apparaîtra dans la boîte de la liste déroulante.
selectedIndex indique le rang à partir de 0 de l'élément de la liste qui a été sélectionné par
l'utilisateur.
defaultselected indique l'élément de la liste sélectionné par défaut. C'est lui qui apparaît
alors dans la petite boîte.
Accéder à une option d’une liste déroulante
Nom var= document.nomformulaire.nomliste.options ;
Récupérer le texte d’une option d’une liste déroulante
Nom var= document.nomformulaire.nomliste.options[indice].text ;
Récupérer la valeur d’une option d’une liste déroulante
Nom var= document.nomformulaire.nomliste.options[indice].value ;
Récupérer le nombre d’options d’une liste déroulante
Taille = document.nomformulaire.nomliste.options.length ;
Ajouter une nouvelle option dans une liste déroulante
Nom var= new Option (texte, valeur) ;
document.nomformulaire.nomliste.options[taille] = Nom var ;
Supprimer une option d’une liste déroulante
document.nomformulaire.nomliste.options[indice] = null ;
15