JScript 1
JScript 1
SOMMAIRE
1. Introduction ............................................................................................................. 2
2. Notions de HTML ................................................................................................... 2
2.1. Notions de base ................................................................................................. 2
2.1.1. Structure d’une page HTML ...................................................................... 2
2.1.2. Les balises de mise en forme ...................................................................... 3
2.1.3. Images et liens ............................................................................................ 4
2.2. Listes et tables ................................................................................................... 5
2.2.1. La création de listes .................................................................................... 5
2.2.2. La création de tables ................................................................................... 6
2.2.3. Création de formulaires .............................................................................. 8
3. Notions de JScript.................................................................................................... 9
3.1. Lecture et affichage de données ........................................................................ 9
3.2. Variables et assignement ................................................................................... 9
3.2.1. Variables ................................................................................................... 10
3.2.2. Opérations ................................................................................................. 10
3.3. Les instructions................................................................................................ 11
3.4. Les sous-programmes ...................................................................................... 11
3.4.1. Définition .................................................................................................. 11
3.4.2. Quelques fonctions prédéfinies ................................................................ 12
4. Les objets en JScript .............................................................................................. 12
4.1. Objets spéciaux................................................................................................ 13
4.1.1. Les chaînes de caractères.......................................................................... 13
4.1.2. Les tableaux .............................................................................................. 14
4.1.3. La classe Date() ........................................................................................ 15
4.1.4. La classe Image() ...................................................................................... 16
4.1.5. La classe Math .......................................................................................... 16
4.2. Hiérarchie des objets ....................................................................................... 17
4.2.1. L’objet navigator ...................................................................................... 18
4.2.2. L’objet window......................................................................................... 18
4.2.3. Les événements......................................................................................... 20
4.3. Création de classes .......................................................................................... 22
5. TD de HTML et JScript ......................................................................................... 23
JScript
1. Introduction
JScript est un langage de programmation qui peut être inclus dans des pages
HTML destinées aux navigateurs WWW les plus courants. Grâce à ce langage,
il est possible d’écrire des pages interactives. Contrairement à l’utilisation du
CGI, les réponses aux événements déclenchés par le lecteur de la page se font au
niveau du navigateur, sans nécessité d’une transmission vers le serveur d’où
provient la page.
JScript ne doit pas être confondu avec Java, qui est un langage beaucoup plus
complexe permettant de créer des applications autonomes.
2. Notions de HTML
Comme le code écrit en langage VBScript ou JScript s’insère toujours dans une
page HTML, il est nécessaire de connaître le langage HTML.
Chaque page HTML doit commencer par la balise <HTML> et se terminer par
la balise </HTML>.
La page HTML contient un en-tête et un corps :
L’en-tête de page est délimité par les balise <head> et </head>, et peut
comprendre les suivantes :
Le titre de la page, délimité par les balises <title> et </title>.
Des indications pour les moteurs de recherche, par exemple des
mots-clé et des descriptifs de la page que l’on inclut dans les balises
<Meta>.
Des feuilles de style pour la mise en forme du texte, délimités par
<Style> et </Style>.
Des scripts côté client, délimités par <Script> et </Script>. C’est à
l’intérieur de cette balise que l’on insère du code JScript.
Le corps de la page est repéré par les balises <Body> et </Body>. La balise
<Body> accepte un certain nombre d’attributs dont les plus utiles sont :
La balise <Code> est identique à la balise <Pre>, mais elle n’insère aucun
interligne dans le texte.
La balise <Font> est la balise idéale de mise en forme. Elle accepte des
paramètres permettant de modifier l’aspect du texte. Color – spécifie la
couleur d’affichage du texte ; Face – spécifie le nom de la police choisie
et Size – spécifie la taille relative du texte. Le paramètre Face s’utilise
avec une liste de polices qui sont recherché dans l’ordre sur la machine.
Par exemple, <Font face=Tahoma, Arial, Helvetica> si la police
Tahoma n’est pas disponible, le navigateur recherchera la police Arial,
puis Helvetica. On peut préciser une modification de taille de police en
utilisant les valeurs –4, -3, -2, -1, +1, +2 et +3. par exemple, <Font Face=
Arial Size = 3>. La fin est marqué par la balise </font>.
Les balises <B>, <I>, <S> et <U> mettent respectivement en gras, en
italique, barre et souligne un texte. Elles ont également une balise de fin.
Elles sont nécessaires pour organiser les données provenant des bases de
données.
Il existe deux types de listes : les listes à puces et les listes numérotés.
Listes à puces : la balise <UL> (Unordered List) permet de créer des listes non
numérotés. Chaque objet de liste commence par la balise LI, (abréviation de List
Item, objet de liste). Par exemple
<html>
<head>
<title> Exemple de liste à puces</title>
</head>
<body>
<ul>
<li>Objet N°1</li>
<li>Objet N°2</li>
<li>Objet N°3</li>
</ul>
<body>
</html>
L’affichage donne:
L’on peut choisir entre 3 modèles de puces à l’aide du paramètre Type: square –
carré ; disk – cercle plein et circle – cercle vide.
Par exemple, <ul type=square>
Listes numérotés : la balise est <OL> (abréviation de Ordered List). Son format
est identique à celui de <UL>. Son paramètre type peut prendre cinq valeurs :
A - lettres majuscules (A, B, C, …) ; a - lettres minuscules (a, b, c, …) ; I -
chiffres romains majuscules (I, II, III, …) ; i - chiffres romains minuscules (i,
ii, iii, …) ; 1 - chiffres arabes (1, 2, 3, …).
La balise <Table> repère le début d’une table ; elle accepte des paramètres
facultatifs dont les plus courants sont mentionnés dans le tableau suivant :
Paramètre Description
ALIGN Spécifie l’alignement à gauche ou à droite de la table
BACKGROUND Spécifie l’image qui doit constituer l’arrière-plan de la table
BGCOLOR Spécifie la couleur d’arrière-plan de la table
BORDER Spécifie l’épaisseur de la bordure autour des cellules de la
table; si vous attribuer la valeur 0, aucune bordure ne sera
affichée.
CELLPADDING Spécifie le nombre de pixels entre le bord de chaque cellule
et le contenu de la cellule
CELLSPACING Spécifie le nombre de pixels entre les cellules dans la table
COLS Spécifie le nombre de colonnes; ce paramètre est inutile car
la table contiendra le nombre de colonnes que vous créez
HEIGHT Hauteur de table en pixels ou en pourcentage
WIDTH Largeur de la table en pixels ou en pourcentage
La balise <TR> repère le début d’une ligne de la table ; elle accepte plusieurs
paramètres dont les suivants :
Paramètre Description
ALIGN Spécifie l’alignement à gauche, centré ou à droite de la page
du contenu des cellules de la ligne.
BACKGROUND Spécifie l’image qui doit constituer l’arrière-plan des
cellules de la ligne
BGCOLOR Spécifie la couleur d’arrière-plan des cellules de la ligne
La balise <TH> repère un titre de table pouvant être utilisé en haut de chaque
colonne ; elle accepte les paramètres suivants :
Paramètre Description
ALIGN Spécifie l’alignement à gauche, centré ou à droite de la page
du contenu des cellules de la ligne.
Notez que tout texte contenu dans le titre d’une table est affiché par défaut en
gras, mais l’on peut ajouter les balises italique et souligné.
La balise <TD> (table definition) repère le contenu d’une cellule et elle accepte
différents paramètres (identiques à ceux de la balise <TH>).
Exemple :
<html>
<head>
<title>Exemple de table</title>
</head>
<body>
<h2>Liste de produits</h2>
<tr>
<th colspan=2>Objet</th>
<th>Quantité</th>
<th>Prix Unitaire</th>
<th>Montant</th>
</tr>
<tr>
<td>8890</td>
<td>Bananes</td>
<td align=center>3</td>
<td align=right>2 000 F</td>
<td align=right>6 000 F</td>
</tr>
<tr>
<td>1290</td>
<td>Mangues</td>
<td align=center>5</td>
<td align=right>2 500 F</td>
<td align=right>12 500 F</td>
</tr>
<Tr>
<td colspan=4 align=right><b>TOTAL :</b></td>
<td align=right>18 500</td>
</tr>
</table>
</body>
</html>
L’affichage donne:
Pour créer un formulaire, on définit des champs entre les balises <Form> et
</Form>. A cet effet, les formulaires utilisent des objets tels que, les zones de
texte, les boutons de commande, les cases à cocher ou les boutons d’option.
La balise <input> permet de créer des zones de texte simple (de petite taille), des
boutons de commande, des cases à cocher et des boutons d’option. Elle accepte
les paramètres Type, Name, size et Value.
Syntaxe pour une zone de texte :
<input type=Text name=Nom size=longueur value=contenu>
Syntaxe pour un bouton de commande :
<input type=Submit name=Nom value=etiquette>
Syntaxe pour une case à cocher :
La balise <Textarea> s’utilise pour créer une zone de texte de grande quantité de
données. Contrairement à la zone de texte simple, les données à afficher doivent
être placées entre les balises <Textarea> et </Textarea>.
Elle accepte un certain nombre de paramètres dont :
Wrap, définit ce qui se passe lorsque l’on appuie sur la touche Entrée. La
valeur de Wrap la plus utilisée est Virtual qui permet d’ajouter une ligne.
Name, même signification que pour le texte simple (nom interne de
l’objet).
Rows et Cols spécifient respectivement le nombre de lignes et de
colonnes.
Syntaxe et Exemple :
<Textarea Wrap=Virtual name=Zone_saisie rows=5 cols=60>
entrez votre texte
</Textarea>
3. Notions de JScript
La fonction alert sert à afficher une valeur dans une boîte de message. Par
exemple : alert ("Bonjour toto").
La fonction prompt sert à lire une valeur à travers une boîte de saisie. Par
exemple : prompt("Entrer une valeur").
Exercice :
Ecrire un script qui demande le nom d’une personne et qui affiche ensuite
un message de salutation contenant le nom de la personne.
3.2.1. Variables
En JScript, il n'y a pas besoin de déclarer le type de variables que l'on utilise,
mais la déclaration est fortement conseillée et s’effectue à l’aide de l’instruction
var. la casse est respectée en JScript.
En fait, il n’existe que 4 types de données :
• des nombres : entiers ou à virgules
Elles sont délimitées par des guillemets simples ou doubles. Une chaîne
constitue également un objet spécial.
Les caractères spéciaux suivants peuvent être insérés dans les chaînes de
caractères :
\b insérer un retour en arrière
\f insérer un saut de page
\n insérer un saut de ligne
\r insérer retour chariot
\t insérer un caractère de tabulation
\' - \" - \\
• des booléens : des variables à deux états permettant de vérifier une
condition : false ou true
• des variables de type null : un mot caractéristique pour indiquer qu'il n'y
a pas de données.
Par exemple :
var i=0 ;
var reponse=false ;
var lachaine = null; //la variable lachaine ne reçoit pas de valeur
var k ; // k existe mais sa valeur est indéfinie (undefined)
3.2.2. Opérations
Opérateurs arithmétiques : +, -, *, /, %
Opérateurs de comparaison : ==, !=, >, >=, <, <=
Opérateurs logiques : &&, ||, !
3.4.1. Définition
Instructions
}
Les fonctions : contiennent l’instruction return(expression)
Function nom_fonction(para1, para2, …){
Instructions + au moins une instruction de la forme
return (expression)
}
Javascript traite les éléments qui s'affichent dans votre navigateur comme des
objets, c'est-à-dire des éléments classés selon :
• une hiérarchie pour pouvoir les désigner précisément
• auxquels on associe des propriétés
Par exemple, pour atteindre un bouton à l'intérieur d'un formulaire, la hiérarchie
est :
Window Document Form Checkbox
Méthodes Description
chaine.charAt(position) Retourne le caractère situé à la position donnée
indexOf(sous-chaîne, Retourne la position d'une sous-chaîne
position) en effectuant la recherche de gauche à droite, à
partir de la position spécifiée en paramètre.
lastIndexOf(sous-chaîne, La méthode est similaire à indexOf(), à la
position) différence que la recherche se fait de
droite à gauche:
substring(position1, La méthode retourne la sous-chaîne comprise
position2) entre les positions 1 et 2 données en paramètre.
toLowerCase() Convertit tous les caractères d'une chaîne en
minuscule
toUpperCase() Convertit tous les caractères d'une chaîne en
majuscule
toUpperCase() Convertit tous les caractères d'une chaîne en
majuscule
En général, l’index d’un tableau est un entier, mais il peut être aussi une chaîne
de caractères. Dans ce cas le tableau est dit associatif (chaque valeur est
nommée). Par exemple :
//tableau associatif
var Tab = new Array() ;
//le premier index est la chaîne num
Tab['num'] = 1 ;
//le second index est la chaîne nom
Tab['nom'] = "Assalé" ;
//le troisième index est la chaîne prenom
Tab['prenom'] = "Louis"
Un tableau est un objet prédéfini qui possède des propriétés et des méthodes. Un
tableau associatif est considéré comme un objet avec des propriétés. Ainsi,
Tab['nom'] est équivalent à Tab.nom
De même un objet est considéré comme un tableau associatif. Par exemple pour
parcourir les propriétés d’un objet window, l’on peut utiliser la boucle suivante :
for (lapropriete in window) { //lapropriete est une chaine
document.write( window[lapropriete]);
}
Méthode Description
getDate() Retourne le jour du mois compris entre 1 et 31
getDay() Retourne le jour de la semaine entre 0 et 6
getHours() Retourne l’heure entre 0 et 23
getMinutes Retourne les minutes entre 0 et 59
getMonth() Retourne le mois entre 0 et 11
getSeconds() Retourne les secondes entre de 0 et 59
Par exemple :
<Script Language="JScript">
Maphoto = new Image()
Maphoto.src ='louis.jpeg'
</Script>
<IMG SRC="mari.jpeg" NAME="laphoto">
<A HREF="Jscript:void(window.document.laphoto.src = Maphoto.src"> On
change</A>
C’est une classe qui ne possède pas de constructeur. Elle est déjà instanciée et ne
possède qu’un seul objet. Elle dispose de propriétés qui sont des constantes et
des méthodes qui sont les principales fonctions mathématiques.
Les propriétés sont :
Quand l’on ouvre une page Web, le navigateur crée des objets prédéfinis ; les
objets de base du navigateur sont :
navigator : qui contient des informations sur le navigateur de celui qui
visite la page. Une seule instance existe l’objet navigator.
window : objet où s’affiche la page, contient des propriétés concernant la
fenêtre elle-même mais aussi tous les objets-enfants contenus dans celle-
ci. Une instance par fenêtre et frame du document HTML.
location : contient des informations relatives à l’adresse de la page à
l’écran
history : liste des liens qui ont été visités précédemment
document : il contient les propriétés sur le contenu du document (couleur
d’arrière plan, titre, …)
précédemment visités)
document Informations sur le contenu
de la fenêtre (éléments qui
composent la page)
L’accès aux objets se fait par une notation par points. Comme il peut avoir
plusieurs formulaires et plusieurs boutons dans chaque formulaire, certains
objets sont automatiquement numérotés. Par exemple :
window.document.forms[0].checkbox[0] permettra d’accéder au premier
bouton du premier document. Si l’on connait le nom du formulaire ou du bouton,
on peut les utiliser dans la formule : window.document.maforme.monbouton
Un objet window existe pour chaque fenêtre ou cadre (zone) ouverte par le
navigateur. Ses propriétés de base sont : history – location et document.
Quelques méthodes :
open() – close() – alert() – prompt()
focus() rend la zone active
blur() rend la zone non active
confirm() ouvre fenêtre avec message, boutons Ok et Annuler
back() renvoie sur la page précédente
forward() renvoie sur la page suivante
home() renvoie sur la page d’accueil
stop() stoppe le chargement de la zone
find(chaine, casse, sens) recherche la chaîne dans la zone
print() imprime le document courant
Quelques événements :
onFocus quand la fenêtre devient active
onBlur idem mais quand la fenêtre devient non active
onerror exécuter une fonction quand survient une erreur
et aussi onload, onunload, onmove et onresize
Les événements sont les actions de l’utilisateur qui vont donner lieu à une
interactivité. Il existe deux façons d’associer une action à un couple (objet,
événement) :
Utilisation des attributs de balise spécifiques associés aux
événements. Par exemple :
<a href="index.html" onMouseOver="alert('bonjour') ;">cliquez
ici </a>
Indication pour un élément et un événement donnés la fonction qui
devra être exécutée. Par exemple :
<body><a id="Lien1" href="index.html">cliquez
ici</a></body>
<script language="JScript">
function bonjour() {alert('bonjour');};
document.links[0].onMouseOver=bonjour;
</script>
Pour créer une classe d’objet, on définit un constructeur de cette classe par la
déclaration d’une fonction qui porte le nom de la classe. On ajoute ensuite une
méthode en définissant une fonction que l’on intègre au constructeur. Par
exemple soit à définir une classe Rectangle :
function Rectangle(long, larg)
{ this.long = long ;
this.larg = larg ;
}
function perimetre()
{ return (2*(this.long+this.larg)) ;
}
5. TD de HTML et JScript
Exercice 1 :
Objet
Quantité Prix Unitaire Montant
Référence Désignation
001 Ecran 15 150 000 2 250 000
002 Unité centrale 20 250 000 5 000 000
003 Clé USB 100 8 000 800 000
TOTAL : 8 050 000
Exercice 2 :
Exercice 3 :
Exercice 4 :
Ecrire une fonction pour calculer le pgcd de 2 entiers a et b lus au clavier par la
méthode d’Euclide :
Si a>b a = bQ + R
Si R = 0 pgcd(a,b) = b sinon pgcd(a,b) = pgcd(b,R).
Exercice 5 :
Ecrire une fonction qui détermine le 1er terme de la suite de Fibonacci > à
N entier lu au clavier. La suite de Fibonacci est définie par : U0=U1=1
Un+1=Un+Un-1
Exercice 6 :
Déterminer les nombres amis dont l’un est inférieur à un nombre Nmax lu au
clavier. Deux nombres N et M sont amis si et seulement si :
Σdiviseur de N = M et Σdiviseur de M = N
Exercice 7 :
Exercice 8 :
Exercice 9 :