Académique Documents
Professionnel Documents
Culture Documents
programmation Web
Abir MHENNI
Dr. Ing. en Informatique
abirmhenni@gmail.com
Filière : 2ème année Licence Multimédia
2020-2021 1
Chapitre 4
Introduction au JavaScript
2
Plan 3
• Définition
• Déclaration du code JavaScript
• Les variables et fonctions
• Les boîtes de dialogues
• Les objets de programmation
• Les événements
• Le DOM : Document Object Model
• Les expressions régulières ite soit calé en haut et qu'il soit toujours visible, etc.
Définition 4
• On peut placer du code JavaScript dans une page HTML selon des façons et des
formes bien différentes.
1. Entre des balises <script> et </script>
2. Code associé à un fichier d'extension .js
3. Code associé à une balise HTML
Déclaration du code JavaScript 6
• On peut placer du code JavaScript dans une page HTML selon des façons et des
formes bien différentes.
1. Entre des balises <script> et </script>
• Quand ces balises sont placées à l’intérieur du <body> le code JavaScript sera
directement interprété au chargement de la page.
• Quand ces balises sont placées dans le <head> le code ne sera pas interprété
directement. Il le sera lorsque on y référence dans le <body>. Généralement, on
définit des fonctions JavaScript dans le <head> qui seront appelées dans le
<body>.
Déclaration du code JavaScript 7
• En JavaScript les fonctions sont définis soit dans le <head> ou dans un fichier js et
l’appel se fait en <body>.
• Syntaxe de définition :
<script>
function nom_De_La_Fonction(argument1, argument2, …)
{
liste d'instructions
}
</script>
• Syntaxe d’appel :
onevenement=" nom_De_La_Fonction(x,y,...)"
Les boites de dialogues 11
• Une boîte de dialogue est une fenêtre qui s'affiche à l’écran, et qui permet :
▪ Soit d'avertir l'utilisateur (alert)
▪ Soit de confirmer un choix (confirm)
▪ Soit de lui demander de saisir une information (prompt)
Les boites de dialogues 12
• La méthode alert()
• permet d'afficher une boîte composée d'une fenêtre d'un bouton OK et le texte
qu'on lui fournit en paramètre.
• Dès que cette boîte est affichée, l'utilisateur n’a d'autre alternative que de cliquer
sur le bouton OK.
• Syntaxe : alert("Attention!");
Les boites de dialogues 13
Exercice1.html
<html>
<head>
<script language="javascript">
function afficheMessage() {
alert('Première ligne...\n Deuxième ligne...');
}
</script>
</head>
<body>
<div style="text-align:center" >Cliquer sur le bouton pour afficher une fenêtre d'alerte :<br>
<button onClick="afficheMessage()"> Cliquer içi </button>
</div>
</body>
</html>
Les boites de dialogues 14
Exercice1.html fichier.js
<html> <script language="javascript">
<head> function afficheMessage() {
<script src="fichier.js"></script> alert('Première ligne...\nDeuxième ligne...');
</head> }
<body> </script>
<div style="text-align:center" >Cliquer sur le bouton
ci-dessous pour afficher une fenêtre d'alerte :<br>
<button onClick="afficheMessage()"> Cliquer içi
</button>
</div>
</body>
</html>
Les boites de dialogues 15
• La méthode confirm()
• permet à l’utilisateur de choisir entre les boutons "OK" et "Annuler".
• Lorsque l'utilisateur appuie sur "OK" la méthode renvoie la valeur true. Elle
renvoie false dans le cas contraire.
• Syntaxe : var c = confirm("message");
Les boites de dialogues 16
Exercice2.html
<html>
<head> <body>
<script language="javascript"> <div style="text-align:center" >Cliquer sur le bouton
function afficheMessage() { ci-dessous :<br>
var rep=confirm('Voulez-vous continuer ?'); <input type="button"
if (rep==true) { value="Cliquer" onClick="afficheMessage()"></div>
alert('Super, c\'parti !'); </body>
} else { </html>
alert('Oh, c\'est dommage !');
}
}
</script>
</head>
Les boites de dialogues 17
Exercice3.html
<html>
<head>
<script language="javascript">
function afficheMessage() {
var rep=prompt('Quel est le prénom dEinstein ?');
if (rep=="Albert"||rep=="ALBERT") {
alert('BRAVO !!!');
} else {
alert('Réponse incorrecte !');
}
}
</script>
</head>
<body>
<div style="text-align:center" >Cliquer sur le bouton ci-dessous :<br>
<input type="button" value="Cliquer" onClick="afficheMessage()"></div>
</body>
</html>
Les boites de dialogues 19
• Les événements sont des actions de l'utilisateur, qui vont pouvoir aboutir à une
interactivité. On peut associer des appels de fonctions à des événements.
Evénement Description
Change (onChange) Se produit lorsque l'utilisateur modifie l’état d’un élément d’un formulaire
Click (onClick) Se produit lorsque l'utilisateur clique sur l'élément associé à l'événement.
• Ainsi avec l’objet document (qui représente la page web) on peut accéder aux
différents éléments de la page grâce essentiellement aux méthodes :
▪ La méthode getElementById("idname")
▪ La méthode getElementsByTagName("tagname")
• La méthode getElementById
• permet de sélectionner un élément d'identifiant donné dans une page.
• Exemple:
▪ si on a dans une page <div id="intro">...</div>,
▪ document.getElementById("intro") permettra de sélectionner précisément
l'élément div en question.
Le Document Object Model (DOM) 25
• La méthode getElementsByTagName
• permet de sélectionner les éléments portant un nom de balise donné dans une
page.
• Exemple :
Si on a dans une page
<h1> ………</h1>
…
<h1> ………</h1>
• var t = document.getElementsByTagName("h1") retournera (dans un tableau t) la
liste des éléments (balises) dont la nom est h1. Dans cet exemple il y a 2.
Les boites de dialogues 26
• innerHTML est une propriété des éléments HTML pour insérer un contenu
dynamiquement dans ces éléments.
• Cette propriété est essentiellement utilisée pour les balises HTML ayant un
contenu textuel : p, h1, li, ….
• Cette propriété permet de lire ou écrire le contenu d’un élément pointé par l’une
des méthodes précédentes.
• Sa syntaxe est la suivante : element.innerHTML
• Exemple:
• Modifiez le contenu HTML d'un élément <p> avec id = "demo":
• document.getElementById("demo").innerHTML = "Paragraph changed!";
Les expressions régulières 28
• HTML5 a apporté un nouveau attribut nommé pattern utilisé avec les balises
<input>. Cet attribut a pour rôle de définir un modèle des valeurs à saisir dans le
champ input.
• Ces modèles sont exprimés comme des expressions régulières JavaScript.
• Ces expressions régulières suivent un vocabulaire définit comme suit :
Les expressions régulières 29
Caractère Utilité
\ Le caractère antislash représente lui-même ou le caractère spécial qui le suit.
[] Les crochets définissent une liste de caractères. Ex : [0-9]
Les accolades lorsqu'elles contiennent un ou plusieurs chiffres séparés par des virgules
{} représentent le nombre d'occurences de l'élément les précédant (par exemple p{2,5}
correspond à ppp, pppp ou ppppp
Un moins entre deux caractères dans une liste représente un intervalle (par exemple [a-
- d] représente [abcd]).
. Le caractère point représente un caractère quelconque.
Le caractère astérisque indique un nombre d'occurrences indéterminé (y compris
* aucune) de l'élément le précédant.
Les expressions régulières 30
Caractère Utilité
+ Le caractère plus indique une ou plusieurs occurrences de l'élément le précédant.
Le caractère "point d'interrogation" indique une occurrence éventuelle (0 ou 1) de
? l'élément le précédant.
\s Le caractère espace.
^ Placé en début d'expression il signifie "chaîne commençant par .. "
$ Placé en fin d'expression il signifie "chaîne finissant par ... "
Exemple 31 31
<html> </script>
<head> </head>
<script language="javascript">
<body>
function Validate() {
Mail : <input type="text" id="text1"> <br/><br/>
var mailformat = /^[a-z0-9._-]+@[a-z0-9]{2,}\.[a-z]{2,3}$/;
if(document.getElementById('text1').value.match(mailformat))
Phone : <input type="text" id="text2"> <br/><br/>
{
alert("Valid email address!"); <button onclick="Validate()" > submit </button>
document.getElementById('text1').focus(); </body>
}
</html>
else
{
alert("You have entered an invalid email address!");
document.getElementById('text1').focus();
}
Les expressions régulières 32
• Exemple:
• Numéro de téléphone : XX XXX XXX
^[0-9]{2}\s[0-9]{3}\s[0-9]{3}$
• Adresse mail :
^[a-z0-9._-]+@[a-z0-9]{2,}\.[a-z]{2,3}$
Lien intéressant 33
• http://www.ostralo.net/javascript/pages/pageC1.htm
Exemple 34
<html>
Ecrivez l’expression
régulière pour <head>
trouver le temps <script language="javascript">
(heures:minutes) function tester() {
dans la chaîne. var str = "Le restaurant ouvre à 08:00 situé au boulevard du 200:200";
var expr = "[0-9]{2}:[0-9]{2}" ;
var result = str.match(expr);
document.writeln(result.join(""));
}
</script>
</head>
<body onload="tester()">
</body>
</html>
To be continued …
35