0% ont trouvé ce document utile (0 vote)
90 vues85 pages

Cours Javascript

Transféré par

H-n Ben Ch
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
90 vues85 pages

Cours Javascript

Transféré par

H-n Ben Ch
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPT, PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 85

Cours Javascript

Sauvegarder html
Javascript

Quoi ?
Langage de programmation lié à HTML.
Code Javascript intégré aux pages HTML.
Code interprété par le navigateur client (interprétation dépendante du
type et de la version de navigateur).
 code PHP (interprété du coté serveur).

Java Script est un langage


objet (création d’objets associés à une page Web, avec
propriétés et méthodes)
événementiel (association d’actions aux événements
déclenchés par l’utilisateur (passage de souris, clic,
saisie clavier, etc...).

Sauvegarder html
Javascript

Intérêts de Javascript ?

Supporté (par défaut) par les principaux navigateurs,


ne nécessite pas de plug-in particulier.

Accès aux objets contenus dans un document HTML


(+ possibilité de les manipuler relativement facilement).

Possibilité de mettre en place des animations sans l’inconvénient des


longs temps de chargement nécessités par les données multimédia.

Langage relativement sécurisé : il est impossible de lire ou d’écrire sur


le disque client
(impossibilité de récupérer un virus par ce biais).

Sauvegarder html 3
Javascript

Difficultés d’utilisation de Javascript ?

Comme pour HTML, il n’y a pas de standard pour l’accès


aux différents objets d’un document (dépendant du navigateur).

Si le script ne fonctionne pas, la page est, le plus souvent, inutilisable.

Les utilisateurs peuvent empêcher l’exécution de code Javascript,


souvent en raison des erreurs générées par les scripts, ou encore
en raison de la nature de l’interaction
(apparition de nouvelles fenêtres, …).

Lenteur d’exécution des scripts, ainsi que pour les scripts complexes,
un certain délai avant le démarrage

Sauvegarder html 4
Intégration de Javascript dans HTML

Élément SCRIPT

<HTML>
...
<SCRIPT language="JavaScript">
<!-- // Masquage du code pour les navigateurs
// ne supportant pas JavaScript

... code javascript ...

//--> // Fin de la partie cachée


</SCRIPT>
...

</HTML>

Sauvegarder html 5
Intégration de Javascript dans HTML

Place de l’élément SCRIPT


Possibilité d'intégrer du code Javascript :
dans l’entête de la page.
dans le corps de la page.
Intégration dans un événement d'un objet de la page
Sous la forme d’un couple attribut-valeur HTML :
Attribut = événement déclencheur
Valeur = code javascript déclenché

...
<FORM name="formulaire" onSubmit="maFonction()">
...

Sauvegarder html 6
Langage

Sauvegarder html 7
Notations Javascript

Similarités avec les langages


C, PHP, Java
Commentaire
Sur une ligne : // … commentaire …
Sur plusieurs lignes : /* …
commentaire
… */
Séparateur d’instructions
Point virgule : instruction ;
Groupement d’instructions
Accolades : { … instructions … }

Sauvegarder html 8
Déclaration de variables

Utilisation de l’instruction var variable=valeur


Pas de typage (détection automatique par l’interpréteur)
Types atomiques : entier, réel, chaîne de caractères, booléen.
Nom de variable sensible à la casse.
Portée :déclaration en dehors de fonction  globale
déclaration dans une fonction  locale

Sauvegarder html 9
Déclaration de variables

<HTML>
<HEAD> <TITLE> Exemple </TITLE> </HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
var prenom_visiteur="Marcel";
var nom_visiteur="Dupond";
var age_visiteur=29;

// utilisation
var accueil="Bonjour " + prenom_visiteur + " " +
nom_visiteur;

</SCRIPT>
</BODY>
</HTML>

Sauvegarder html 10
Déclaration et création d’objets

Existence d’objets prédéfinis


JavaScript intègre d'origine plusieurs type d'objets.
Déclaration : utilisation de var.
Création : utilisation du mot clé new, suivi du type d'objet.
Exemple
Objet Date, très utile dans un environnement Internet.

...
// création d’un objet Date contenant la date du jour.
var date_jour=new Date();

// création d’un objet Date avec paramètres


var une_date=new Date(annee,mois-1,jour,heure,min) ;
...
Sauvegarder html 11
Déclaration et création de tableaux

Objet Array
Déclaration par l’utilisation de var.
Le premier élément du tableau est indexé à 0.
Il est possible de déclarer un tableau sans dimension fixée.
La taille du tableau s'adapte en fonction du contenu.
Exemple

...
// création d’un tableau de 10 éléments de type
// basique (réel, entier, chaîne de caractères)
var un_tableau=new Array(10) ;

// création d’un tableau


var un_autre_tableau=new Array;
...
Sauvegarder html 12
Utilisation de tableaux

Accès aux éléments d’un tableau


Utilisation des crochets : [ ]

...
var tableau=new Array;
tableau[0]=10;
tableau[9]=5;
...

Propriétés de l’objet

...
// obtention du nombre d'éléments de un_tableau
var dimension=tableau.length;
...

Sauvegarder html 13
Tableaux associatifs

Principe
L’indice est une chaîne de caractères
Exemple
Chargement d’une page HTML en fonction du jour de la semaine

...
var tab=new Array;
tab["Lundi"] ="semaine.html";
tab["Mardi"] ="semaine.html ";
tab["Mercredi"] ="enfant.html";
tab["Jeudi"] ="semaine.html";
tab["Vendredi"] ="semaine.html";
tab["Samedi"] ="weekend.html";
tab["Dimanche"] ="weekend.html";
...
Sauvegarder html 14
Tableaux d’objets

Principe
Array permet de stocker des objets de n’importe quel type :
atomique : entier, réel, chaîne de caractères, …
prédéfini : Date, …
défini dans le code javascript, … cf. plus loin
Exemple

var animaux=new Array;


// création de plusieurs instances d’Animal
var milou=new Animal("Milou","Chien");
var titi=new Animal("Titi","Canari");

// stockage d’instances d ’Animal dans un tableau


animaux[0]=milou;
animaux[1]=titi;
animaux[2]=new Animal("Rominet","Chat");

Sauvegarder html 15
Tableaux multi-dimensionnels

Principe
Array permet de stocker des objets, donc des tableaux.
Exemple

...
var row0=new Array; row0[0]="O"; row0[1]="X"; row0[2]=" ";
var row1=new Array; row1[0]="X"; row1[1]="O"; row1[2]=" ";
var row2=new Array; row2[0]=" "; row2[1]="0"; row2[2]="X";

var morpion=new Array;


morpion[0]=row0; morpion[1]=row1; morpion[2]=row2;
...
morpion[1][2]="X";
... O X

X O X

O
Sauvegarder html
X 16
Exemple d’utilisation de tableaux
Affichage de la date du jour

<HTML>
<HEAD> <TITLE> Exemple Date </TITLE> </HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
var dt=new Date;
var jour=dt.getDay( ); // renvoi un jour [0..6]
var numero=dt.getDate( ); // renvoi le numéro dans le mois
var mois=dt.getMonth( ); // renvoi le mois [0..11]

var tab_jour=new Array("Dimanche","Lundi","Mardi",


"Mercredi","Jeudi","Vendredi","Samedi");
var tab_mois=new Array("Janvier","Février","Mars","Avril","Mai",
"Juin","Juillet","Août","Septembre",
"Octobre","Novembre","Décembre");

document.write("Nous sommes le "+tab_jour[jour]+" "


+numero+" "+tab_mois[mois]);

</SCRIPT>
</BODY>
</HTML>
Sauvegarder html 17
Sortie écran

Exemple

<HTML>
<HEAD> <TITLE> Exemple 1 </TITLE> </HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
var Les4saisons = new Array("printemps",
"été", "automne", "hiver");

document.write("Voici les 4 saisons : <UL>");


for (var i=0 ; i<4 ; i++)
{ document.write("<LI>", Les4saisons[i] );
}
document.write("</UL>");

</SCRIPT>
</BODY>
</HTML>

Sauvegarder html 18
Structures
de contrôle

Sauvegarder html 19
Test conditionnel : if … else …

But
Permet de diriger l’exécution du script selon des conditions.
Exemple

<SCRIPT language="JavaScript">
...
if(age<18) { alert("Vous devez être majeur");
window.location="mineur.php3";
}
else { window.location="majeur.php3";
}
...
</SCRIPT>

Sauvegarder html 20
Boucle itérative : for …

But
Répéter des instructions un nombre déterminé de fois.
Syntaxe
for(initialisation ; condition ; opération )
{ ... instructions ... }
Exemple

var somme=0;
for( var i=1 ; i<=10 ; i++ )
{ somme += i; // équivalent à somme = somme +i;
}
...

Notations abrégées ala C


Sauvegarder html 21
Boucle conditionnelle : while …

But
Répéter des instructions tant qu’une condition est VRAIE.
Syntaxe
while(condition) { ... instructions ... }
Exemple

function demander()
{ var nb=0;
while(nb<=100)
{ nb = prompt("Entrez un nombre supérieur à 100");
}
alert("Merci !");
}

Sauvegarder html 22
Instructions
du langage

Sauvegarder html 23
Sortie écran

document.write( … );
Exemple

<HTML>
<HEAD> <TITLE> Exemple 1 </TITLE> </HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
var bonjour = "Bonjour !";
var question = "Comment allez vous ";
var phrase = bonjour + "<BR>" + question;

document.write(phrase, "aujourd'hui ?");


</SCRIPT>
</BODY>
</HTML>

Sauvegarder html 24
ex2

Sauvegarder html 25
Fonctions
Emplacement de la déclaration
Dans l'entête de la page
Utilisation de la syntaxe : function nom_fonction([param1, …])

Corps de la fonction
Délimité par { … }
Contenu :
déclaration des variables locales, propres à la fonction,
instructions réalisés par la fonctions,
instruction return pour renvoyer une valeur ou un objet
(cette instruction n’est pas obligatoire  fonction qui
ne renvoie pas de valeur)

Sauvegarder html 26
Fonctions
Appel de fonction
Peut avoir lieu à n'importe quel endroit de la page :
dans d'autres fonctions,
dans le corps de la page.

Utilisation de : nom_fonction([param1, … ]);

<HTML>
<HEAD> <SCRIPT>// déclaration de fonction
function bonjour(nom) {
document.write("Bonjour ", nom);}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT> bonjour("M. El Mallahi");</SCRIPT>
</BODY>
</HTML>

Sauvegarder html 27
Fonctions

<HTML>
<HEAD> <SCRIPT>// déclaration de fonction
function bonjour(nom) {
document.write("Bonjour ", nom);}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT> bonjour("M. El Mallahi");<SCRIPT>
</BODY>
</HTML>

Sauvegarder html 28
Fonctions

Exemple
<HTML>
<HEAD> <SCRIPT>// déclaration de fonctions
function volumeSphere(rayon)
{ return 4/3*Math.PI*Math.pow(rayon,3); }

function calculerPrix(PrixUnitaire, NbArticles)


{ return PrixUnitaire* NbArticles; }
</SCRIPT>
</HEAD>
<BODY> <SCRIPT>// appels des fonctions
document.write("Tu dois payer ",
calculerPrix(150,4)," Euros.<BR>");
document.write("Le volume d’une sphère de rayon 1
est ", volumeSphere(1),"<BR>"
);
</SCRIPT>
</BODY>
</HTML>
Sauvegarder html 29
Fonctions

<HTML>
<HEAD> <SCRIPT>// déclaration de fonctions
function volumeSphere(rayon)
{ return 4/3*Math.PI*Math.pow(rayon,3); }

function calculerPrix(PrixUnitaire, NbArticles)


{ return PrixUnitaire* NbArticles; }
</SCRIPT>
</HEAD>
<BODY> <SCRIPT>// appels des fonctions
document.write("Tu dois payer ",
CalculerPrix(150,4),"E.<BR>");
document.write("Le volume d’une sphère de rayon 1
est ", volumeSphere(1),"<BR>"
);
</SCRIPT>
</BODY>
</HTML>
Sauvegarder html 30
Déclenchement d’instructions javascript

Programmation événementielle
Javascript = langage réactif
L’interaction avec l’utilisateur est gérée via des événements
Événement = tout changement d’état du navigateur

Production d’événement
Déclenché par l’utilisateur ou par le code javascript

Sauvegarder html 31
Déclenchement d’instructions javascript

Événements javascript
blur : le focus est enlevé d’un objet
change : la valeur d ’un champ de formulaire à été
modifiée
par l’utilisateur
click : un clic souris est déclenché sur un objet
focus : le focus est donné à un objet
load : la page est chargée par le navigateur
mouseover : la souris est déplacée sur un objet
select : un champ de formulaire est sélectionné (par
clic souris ou tabulation)
submit : un formulaire est soumis
unload : l’utilisateur quitte la page

Sauvegarder html 32
Déclenchement d’instructions javascript

Récupération des événements


Gestionnaire d’événement qui associe une action (fonction javascript)
à la détection d’événement
Événements détectables
Nom de l’événement précédé de on :
onBlur, onChange, onClick, onFocus,
onLoad, onMouseover, onSelect, onSubmit,
onUnload
Association événement - action
Dans le code HTML, identique à la déclaration d ’une propriété :
<nom_élément attributi = propriétéi événementj = "actionj" >

Sauvegarder html 33
Déclenchement d’instructions javascript

<HTML>
<HEAD> <TITLE>Exemples de déclenchements</TITLE>
<SCRIPT>
function saluer() { alert("Bonjour M. El
Mallahi!"); }
</SCRIPT>
</HEAD>
<BODY>
<H1>Exécution immédiate</H1>
<SCRIPT> saluer(); </SCRIPT>
<H1>Exécution sur événement onClick</H1>
<FORM><INPUT type="button" name="Bouton"
value="Salut" onClick="saluer()">
</FORM>

<H1>Exécution sur protocole javascript:</H1>


<A HREF="javascript:saluer()">pour saluer</A>
</BODY>
</HTML>
Sauvegarder html 34
Javascript
et
langage à objets

Sauvegarder html 35
Déclaration et création d’objets

Deux types d’objets


Objets prédéfinis
Objets propres
Création d’objets propres
Par appel d’une fonction qui va créer les propriétés de l’objet.
Utilisation de this pour faire référence à l’objet courant
Exemple

var mon_chien=new CreerChien("Milou","Fox Terrier")


function CreerChien(le_nom,la_race)
{ this.nom=le_nom;
this.race=la_race;
}

Sauvegarder html 36
Déclaration et création d’objets

Accès aux propriétés d’un objet


Utilisation de la notion pointée : objet.propriété
Possibilité de parcourir toutes les propriétés d'un objet
Utilisation de la boucle : for (i in object) { ... object[i] ... }
i = nom de la propriété, object[i] = valeur de la propriété
Exemple

document.write(mon_chien.nom);

// parcours des propriétés de l'objet navigator


var object=window.navigator;
for(i in object)
{ document.write(i+" = "+object[i]+""); }
Sauvegarder html 37
Déclaration et création d’objets
<HTML>
<HEAD>
<SCRIPT>
function CreerChien(le_nom,la_race)
{ this.nom=le_nom;
this.race=la_race;
}
var mon_chien=new CreerChien("Milou","Fox Terrier")

</SCRIPT>
</HEAD>
<BODY>
<SCRIPT>
document.write("<b>"+mon_chien.nom +" </b><br>");

// parcours des propriétés de l'objet navigator


var object=window.navigator;
for(i in object)
{ document.write(i+" = "+object[i]+" <br>"); }
</SCRIPT>
</BODY>
</HTML>

Sauvegarder html 38
Déclaration et création d’objets

Déclaration de méthodes
Association de fonctions dans la création de l’objet.
Exemple

function CreerChien(le_nom,la_race)
{ this.nom=le_nom;
this.race=la_race;
this.Afficher=AfficherChien;
}

function AfficherChien()
{ document.write("Ce chien s'appelle "+this.nom
+". C'est un "+this.race+".");
}

Sauvegarder html 39
Déclaration et création d’objets

Alternative pour la déclaration de méthodes


Méthode générique, déclenchable sur un objet quelconque.
Exemple

function AfficherChien()
{
with(this)
{
document.write("Ce chien s'appelle "+this.nom
+". C'est un "+this.race+".");
}
}

Sauvegarder html 40
Modèle
Objet de
Document

Sauvegarder html 41
Modèle Objet de Document (DOM)

Quid ?
Modèle associé à un l’environnement client

But
Permettre la manipulation des objets :
de l’interface
du document
(objets créés automatiquement par le navigateur)

Types d’objets
Window, Document, Form, Browser , ...

Sauvegarder html 42
DOM : objet Window

Propriétés
frames[ ] : tableau de frames
frames.length : nombre de frames
self : fenêtre courante

opener : la fenêtre (si elle existe) qui a ouvert la


fenêtre courante
parent : parent de la fenêtre courante, si la fenêtre
courante est une sous-partie d’un frameset
top : fenêtre principale (qui a crée toutes les
fenêtres)
status : message dans la barre de statut
defaultstatus : message par défaut de la barre de statut
name : nom de la fenêtre

Sauvegarder html 43
DOM : objet Window

Méthodes
alert(string) : ouvre une boîte de dialogue avec le
message
passé en paramètre
confirm : ouvre une boîte de dialogue avec les
boutons OK et cancel
blur() : enlève le focus de la fenêtre
focus() : donne le focus à la fenêtre
prompt(string) : affiche une fenêtre de saisie
scroll(int x, int y) : positionnement aux coordonnées (x,y)
open(URL, string name, string options) :
ouvre une nouvelle fenêtre contenant le
document identifié par l’URL
close() : ferme la fenêtre

Sauvegarder html 44
DOM : objet Document

Propriétés
title : titre du document
location : URL du document
lastModified : date de dernière modification

referrer : URL de la page d’où arrive l’utilisateur

bgColor : couleur de fond


fgColor : couleur du texte
linkColor
vlinkColor couleurs utilisées pour les liens hypertextes
alinkColor

Sauvegarder html 45
DOM : objet Document

Propriétés
forms[ ] : tableau des formulaires de la page
forms.length : nombre de formulaire(s) de la page
links[ ] : tableau des liens de la page
links.length : nombre de lien(s) de la page
anchors[ ] : tableau des ancres internes (<A NAME=
…>)
anchors.length : nombre de d’ancre(s) interne(s)
images[ ]
applets[ ] tableaux des images, applets et plug-ins
embeds[ ]

Remarque : les tableaux contiennent les éléments dans


l’ordre de leur apparition dans le code HTML

Sauvegarder html 46
DOM : objet Document

Méthodes
write(string) : écrit une chaîne dans le document
writeln(string) : idem + caractère de fin de ligne
clear() : efface le document
close() : ferme le document

Sauvegarder html 47
DOM : objet Form

Propriétés
name : nom (unique) du formulaire
method : méthode de soumission (0=GET, 1=POST)
action : action déclenchée par la validation du
formulaire
target : fenêtre de destination de la réponse
(si elle existe)
elements[ ] : tableau des éléments du formulaires
length : nombre d’éléments du formulaire

Sauvegarder html 48
DOM : objet Form

Méthodes
submit() : soumet le formulaire
reset() : ré-initialise le formulaire

Événements
onSubmit(method) : action à réaliser lorsque le formulaire

est soumis
onReset(method) : action à réaliser lorsque le formulaire

est ré-initialisé

Sauvegarder html 49
DOM : objet Navigator

Propriétés
appCodeName : nom de code interne du navigateur
appName : nom réel du navigateur
appVersion : version du navigateur
userAgent : objet complexe contenant des détails sur :
l’appCodeName,
l’appVersion
le système d’exploitation utilisé
plugins[] : tableau des plugins installés chez le client
mimeType[] : tableau des types MIME supportés par le
navigateur

Sauvegarder html 50
DOM : objet Navigator

Méthodes
javaEnabled : retourne TRUE si le navigateur supporte
Java
(et que l’exploitation de Java est actif)

Sauvegarder html 51
Exemples d’utilisation du DOM

Exemple de formulaire

<FORM name="general">
<INPUT type="text" name="champ1"
value="Valeur initiale">
</FORM>

Accès à l’objet correspondant au formulaire précédent


3 possibilités :

document.forms["general"]
document.forms[0]
document.general

Sauvegarder html 52
Exemples d’utilisation du DOM

Accès aux éléments du formulaire


3 possibilités :

document.forms["general"].elements["champ1"]
document.forms["general"].elements[0]
document.forms["general"].champ1

Accès aux propriétés d’un élément

document.forms["general"].elements["champ1"].value

Sauvegarder html 53
Exemples d’utilisation du DOM

Appeler une méthode sur un objet


Pour donner le focus, par exemple :

document.forms["general"].elements["champ1"].focus();

Associer une action à un événement

<FORM name="changer">
<INPUT type="text" name="zonetexte"
value="Valeur initiale">
<INPUT type="button" value="Changer la valeur"
onClick='document.forms["changer"].elements
["zonetexte"].value="NOUVEAU" '>
</FORM>

Sauvegarder html 54
Exemples d’utilisation du DOM

<HTML>
<HEAD> <SCRIPT></SCRIPT> </HEAD>
<BODY>
<FORM name="changer">
<INPUT type="text" name="zonetexte"
value="Valeur initiale">
<INPUT type="button"
value="Changer la valeur"
onClick='document.forms["changer"].elements
["zonetexte"].value="NOUVEAU" '>
</FORM>

</BODY>
</HTML>

Sauvegarder html 55
Validation d’un formulaire par Javascript

Intérêt
Vérifier les données saisies avant de valider réellement le formulaire.
Principe
Création d’un bouton de type "button" (et pas de type "submit") pour
soumettre le formulaire.

Association d’une fonction Javascript qui


contrôle la saisie,
soumet ou non le formulaire,
à l’événement onClick de ce bouton.

Sauvegarder html 56
Exemple de validation d’un formulaire
<HTML>
<HEAD><SCRIPT></SCRIPT></HEAD>

<BODY>

</BODY>
</HTML>

Sauvegarder html 57
Exemple de validation d’un formulaire
<HTML>
<HEAD>
<SCRIPT language="JavaScript">
function ValiderMail(formulaire)
{ if(formulaire.mail.value.indexOf("@",0)<0)
{ alert("Adresse mail saisie invalide.\n" );
// le formulaire ne sera pas validé
}
else { alert("Formulaire OK\n");
// Pour valider le formulaire en javascript :
formulaire.submit();
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="Coordonnees" ACTION=>
Saisissez une adresse mail valide (nom@domaine) :
<INPUT TYPE="TEXT" NAME="mail">
<INPUT TYPE="button" NAME="bouton" VALUE="Valider"
onClick="ValiderMail(this.form)">
</FORM>
</BODY>
</HTML> Sauvegarder html 58
Javascript
et
formulaires

Sauvegarder html 59
Rappel sur les formulaires

Langage HTML
Déclaration de formulaire : <FORM ...> ... </FORM>
Élément(s) d’un formulaire : <INPUT ...>
But
Interaction avec l’utilisateur
sous la forme d’une saisie d’informations.
Intérêt de Javascript
Augmenter l’interaction du côté client, par exemple pour :
assister et guider le visiteur,
contrôler la saisie,
réaliser des traitements (calcul, …),
envoyer des résultats au serveur.

Sauvegarder html 60
Événements associés à <FORM …>

onSubmit = " … "


Détecte la soumission du formulaire
onReset = " … "
Détecte la réinitialisation du formulaire

Sauvegarder html 61
Éléments <INPUT …>

Propriétés
name : nom du champ
type : type du champ (text, button, radio, checkbox, submit, reset)
value : valeur textuelle
size : taille du champ
maxlength : taille maximale d’un champ texte
checked : case à cocher / bouton radio coché ou non
disabled : grisé (modification impossible)
readOnly : lecture seule
class : nom de la classe de style
style : nom du style

Sauvegarder html 62
Élément <INPUT type="text" …>

Propriétés acceptées
name, value, defaultvalue, size, maxlength, disabled, readOnly, class,
style
Méthodes acceptées
focus, blur
Événements acceptés
onFocus, onBlur, onChange

Sauvegarder html 63
Éléments <INPUT …>

Méthodes
focus : donne le focus (curseur)
blur : enlève le focus
click : simule un click (sur un bouton)
Événements
onFocus : détecte la prise de focus
onBlur : détecte la perte de focus
onClick : détecte un click
onChange : détecte les changements

Sauvegarder html 64
Popup

Sauvegarder html 65
Popup

Quid ?
Nouvelle fenêtre, dont l’ouverture est déclenchée par des événements
liés à l’utilisateur
4 types de fenêtres :
string prompt(string chaine)
boolean confirm(string chaine)
string alert(string chaine)
window (appel de la méthode open(...))

Sauvegarder html 66
window.open(URL [, nom] [,options])

Paramètres
URL : adresse de la page à charger
nom : nom de la fenêtre (utilisable par TARGET)
options (séparées par des , ) :
toolbar = [ yes | no ] affichage de la barre d’outils
location = [ yes | no ] affichage de l’URL de la page
directories = [ yes | no ] affichage de la barre le lien
status = [ yes | no ] affichage de la barre d’état
menubar = [ yes | no ] affichage de la barre de menus
scrollbars= [ yes | no | auto ] affichage des ascenseurs
resizable = [ yes | no ] fenêtre redimensionnable ou non
width = pixels, height = pixels largeur et hauteur en pixels
top = pixels, left = pixels positionnement vertical et horizontal
fullscreen = [ yes | no ] affichage plein écran
Sauvegarder html 67
window.open(URL [, nom] [,options])

Exemple

// Popup minimaliste, position fixe en haut à gauche


window.open('popup.html','','top=10,left=10')

// Aucune barre de menu, non redimensionnable, taille fixe


window.open('popup.html', '',
'resizable=no, location=no, menubar=no,
status=no, scrollbars=no',
width=200, height=100')

// Popup fullscreen
window.open('popup.html','','fullscreen=yes')

Sauvegarder html 68
window.open(URL [, nom] [,options])

Exemples de déclenchements d’ouvertures de fenêtre

// ouverture au chargement d’une page


<BODY onLoad="window.open( ... )">
...

// ouverture à la fermeture d’une page


<BODY onUnload="window.open( ... )">
...

Fenêtre toujours visible

// forcer le focus
<BODY onblur="window.focus()" >
...

Sauvegarder html 69
Javascript
et
chaînes de caractères

Sauvegarder html 70
Utilisation classique

Déclaration
Utilisation de var, comme n’importe quel type de données
Manipulation
Beaucoup de similarités avec PHP

// 2 alternatives de délimitations
var chaine1='valeur1';
var chaine2="valeur2";

// caractères ' et "


// alternance de guillemets simples et guillemets doubles
chaine1="Bonjour l'ami";
chaine2='Dis "Bonjour" au monsieur';

// utilisation de contre-slashs :\
chaine2="Dis \"Bonjour\" au monsieur";

Sauvegarder html 71
Propriétés associées aux chaînes

1 seule propriété
length : longueur de la chaîne

Exemple

var chaine='Exemple de longueur';

document.write(chaine.length);

19

Sauvegarder html 72
Méthodes associées aux chaînes

Concaténation
Utilisation de +

Exemple

var chaine1='Vive ';


var chaine2='Javascript';
var chaine3=chaine1 + chaine2;

document.write(chaine3);

Vive Javascript

Sauvegarder html 73
Méthodes associées aux chaînes

Accès à une sous-partie d’une chaîne


charAt(int n) : renvoie du nème caractère
substring(int i, int j) : renvoie de la chaîne comprise entre le i ème
caractère (inclus) et le jème caractère (exclus)
Exemple

var date = "28/02/2002";


var jour = date.substring(0,2);
var mois = date.substring(5,3);
var annee = date.substring(6);
Remarques
L’indice du 1er caractère est 0
Si (i > j) alors échange de i et j : substring(5,3)  substring(3,5)
Si j est omis, la sous-chaîne renvoyée va jusqu’à la fin de chaîne

Sauvegarder html 74
Méthodes associées aux chaînes

Recherche d’une sous-chaîne


indexOf(string souschaîne, [int pos]) : renvoie l’indice de la 1ère
occurence de souschaîne dans la chaîne

lastIndexOf(string souschaine, [int pos]) : renvoie l’indice de la dernière


occurrence de souschaîne dans la chaîne

L’option pos permet de n’effectuer la recherche :


qu’à partir d’une certaine position pour indexOf
jusqu’à une certaine position pour lastIndexOf

Si souschaîne n’est pas trouvée, les 2 fonctions renvoient -1

Sauvegarder html 75
Méthodes associées aux chaînes

Exemples de recherche de sous-chaînes

var date = "28/02/2002";

document.write(date.indexOf("/"));
document.write(date.lastIndexOf("/"));
document.write(date.indexOf("/",3));
document.write(date.lastIndexOf("/",3)); 2
document.write(date.indexOf("\")); 5
5
var mois = date.substring(date.indexOf("/")+1, 2
date.lastIndexOf("/")); -1
02
document.write(mois);

Sauvegarder html 76
Méthodes associées aux chaînes

Conversions
toUpperCase() : conversion en MAJUSCULES
toLowerCase() : conversion en minuscules
big(), blink(), bold(), fixed(), italics(), small(), sub(), strike(), sup(),
fontcolor(string couleur), fontsize(string taille) :
ajout de balises HTML de mise en forme
Exemple

var chaine="Exemple min/MAJ";


document.write(chaine.toUpperCase());
EXEMPLE MIN/MAJ
document.write(chaine.toLowerCase());
exemple min/maj
document.write(chaine.italics());
Exemple min/MAJ
document.write(chaine.strike());
Exemple min/MAJ
document.write(chaine.fontcolor("red"));
Exemple min/MAJ
document.write(chaine.fontsize("+2"));
Exemple min/MAJ
Sauvegarder html 77
Javascript
et
mathématiques

Sauvegarder html 78
Test de type

Une chaîne est-elle un nombre ?


Utile pour la vérification de la saisie de champ de formulaire : saisie de
quantités, de prix…
isNaN(string chaîne) renvoie :
TRUE si la chaîne n’est pas un nombre
FALSE sinon
Exemple

var nombre="3.14";

if(!isNaN(nombre)) document.write(nombre, "est un nombre");


else document.write(nombre, "n’est pas un nombre");

3.14 est un nombre

Sauvegarder html 79
Conversion chaîne  nombre

Utilité
Effectuer des opérations numériques sur des données initialement
textuelles (cas des saisies de formulaire notamment)
int parseInt(string chaîne) : conversion d’une chaîne en entier
float parseFloat(string chaîne) : conversion d’une chaîne en réel
Exemple

var chaine="3.14";
var entier=parseInt(chaine);
var reel=parseFloat(chaine);

document.write(entier);
document.write(reel);

3
3.14
Sauvegarder html 80
Fonctions mathématiques

Principe général
Appel des méthodes de l’objet Math
Listes des méthodes
abs(x), acos(x), asin(x), atan(x), cos(x), ln(x), log(x), round(x), sin(x),
sqrt(x), tan(x) : applique la fonction appropriée à x
ceil(x) : renvoie le plus petit entier supérieur ou égal à x
exp(x) : renvoie e (exponentielle) à la puissance x
floor(x) : renvoie le plus grand entier inférieur ou égal à x
max(x,y) : renvoie la plus grande des valeurs de x et y
min(x,y) : renvoie la plus petite des valeurs de x et y
pow(x,y) : renvoie x à la puissance y
random(x) : renvoie un nombre aléatoire compris entre 0 et 1

Sauvegarder html 81
Fonctions mathématiques

Exemple

document.write(Math.random());
document.write(Math.min(5,4));
document.write(Math.exp(1));
document.write(Math.ceil(2.2));
document.write(Math.floor(2.2));
document.write(Math.round(2.2));
document.write(Math.pow(2,3));

.8012453357071934
4
2.718281828459045
3
2
2
8

Sauvegarder html 82
Javascript
et
Cookies

Sauvegarder html 83
Cookies

SetCookie( … )
Positionnement d’un cookie

GetCookie( … )
Récupération d’un cookie

Sauvegarder html 84
Cookies

Exemple

<HTML><BODY>
<SCRIPT>
var visits=GetCookie("compteur");
if (visits && parseInt(visits) )
{
SetCookie("compteur", ++parseInt(visits) + "");
document.write(visits + " visites.");
self.location.href="ghhhhhhhhhhhhhhhtop.html";
}
else
{ var expires=new Date();
expires.setTime(expires,getTime() + 3E11); // environ 10 ans
SetCookie("compteur", "1", expires, "");
document.write("Bienvenue, étranger <BR>\n.");
}
</SCRIPT>
<A HREF="">Entrer par ici.</A>
</BODY>
</HTML>

Sauvegarder html 85

Vous aimerez peut-être aussi