Beruflich Dokumente
Kultur Dokumente
Prof:
Barkallah haitham
Le langage JavaScript
I.
Introduction
Activit 1 :
Crer un dossier de travail nomm TpjavaScript dans D:\formation\ .
Crez une page html nomme Maximum.html qui permet de calculer le maximum de
deux entiers a et b.
Constatation :
Activit2 :
Citer quatre limites du langage HTML
1.
2.
3.
4.
....
Activit3 :
Proposer deux solutions pour remdier ses limites.
1re Solution :
2me Solution :
Remarque:
JavaScript est un langage de .ct permettant damliorer
linteractivit des pages web, en utilisant des structures de contrle et des vnements.
JavaScript est un langage de scripts incorpor dans les ....
JavaScript est un langage.. en temps rel par le .Web.
II.
<..>
..
<>
</HEAD><BODY>
<..>
..
<>
</BODY></HTML>
Page : 1
1:
2:
Formation Javascript
Prof:
Barkallah haitham
Activit4 :
Crer un fichier HTML contenant le code JavaScript permettant laffichage dune fentre de message
portant votre nom, prnom et votre adresse. Sauvegarder ce fichier sous le nom Act4.html
III.
Activit5 :
Crer un fichier HTML nomm Act5.html et saisir le code suivant :
<HTML><HEAD><TITLE>Saisir votre Nom</TITLE>
<SCRIPT LANGUAGE="javascript">
function teste(){
x=window.document.form1.nom.value;
if(x = ="")
alert("champ texte vide");
else
alert("Saisie correcte");
} </SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="javascript">
window.document.write(" <p align='center'><h1>Contler une zone de texte</h1></p>");
</SCRIPT>
<FORM method="POST" name="form1" >
<p>Saisir votre Nom: <input type="text" name="nom" size="20"></p>
<p><input type="button" value="Tester" name="test" onclick="teste()"></p>
</FORM></BODY></HTML>
Objet
Objet
Objet
Objet
Les mthodes (fonctions) des objets : des fonctions prdfinies par le langage JavaScript
sur les objets.
Exemples :
EX1 : La mthode write() : cest une mthode applicable sur lobjet document
Syntaxe : Window.Document .write("BienVenue") ;
EX2 : La mthode alert() : cest une mthode applicable sur lobjet window
Syntaxe : Window.alert("BienVenue") ;
Page : 2
Formation Javascript
Prof:
Barkallah haitham
Les proprits des objets : permettant de dcrire les caractristiques des objets.
Exemple : pour accder au contenu dune zone de texte il faut utiliser la proprit value
Syntaxe : x=Window.Document.form1.nom.value ;
IV.
Color en Rouge
2010
Color en Jaune
Color en bleu
Color en vert
Constatation :
La mthode write() :
Cest une mthode de lobjet document permet de modifier de faon dynamique le contenu dune page
web. Il est possible dutiliser la mthode write() de diffrents faons :
Page : 3
Formation Javascript
Prof:
Barkallah haitham
Conversion de types :
La fonction isNaN() : is Not a Number : est une fonction boolenne permettant
de vrifier si le contenu dune variable est numrique ou non :
isNaN(A) : retourne True si le contenu de A nest pas numrique.
isNaN(A) : retourne False si le contenu de A est numrique.
Ex : A= prompt("Donner votre numro dordre dans la classe"," ") ;
If(isNaN(A)){
alert(" Conversion impossible ");}
else{
B=Number(A);
B=B+1;}
Ex : A=200 ;
Page : 4
Formation Javascript
Prof:
Barkallah haitham
B=String(A) ;
B=B+1 ;
Alert(B) ;
Rsultat=.
Activit8:
Crer un fichier HTML nomm Act8.html contenant le code JavaScript permettant la lecture deux
entiers a et b par lutilisateur, de calculer leur somme et afficher le rsultat dans une fentre de message.
V.
Activit 5.
La dclaration des variables
Les variables peuvent se dclarer de deux faons :
1re mthode(Explicite) : JavaScript utilise le mot cl var devant la variable dclarer.
Ex : var n=22 ;
var chaine=" Bonjour" ;
var b=2>5 ;
2me mthode(Implicite) : On crit directement le nom de la variable suivie du
caractre = et de la valeur affecter.
Ex : n=22 ;
chaine=" Bonjour" ;
b=2>5 ;
La porte (visibilit) des variables
Ex1 :
Ex2 :
<SCRIPT LANGUAGE="javascript">
var a=12;
var b=4;
function MultiplePar2(b){
var a=b*2;
return a;}
document.write(" Le double de",b,
"est",MultiplePar2(b)) ;
document.write(" La valeur de a est",a) ;
</SCRIPT >
<SCRIPT LANGUAGE="javascript">
var a=12;
var b=4;
function MultiplePar2(b){
a=b*2;
return a;}
document.write(" Le double de",b,
"est",MultiplePar2(b)) ;
document.write(" La valeur de a est",a) ;
</SCRIPT >
Rsultat :
Rsultat :
.
.
.
.
Constatations :
o Lorsque une variable dclare sans le mot cl var (.) elle est
accessible partout dans le script (nimporte quelle fonction du script peut faire appel
cette variable).On parle alors de variable
o La porte dune variable dclare de faon explicit (.),
dpond de lendroit ou elle est dclare :
Une variable dclare au dbut de script, avant toute fonction, sera
Page : 5
Formation Javascript
Prof:
Barkallah haitham
Une variable dclare dans une fonction aura une porte limite cette fonction,
on parle alors dune variable
Activit9:
Crer un fichier HTML nomm Act9.html contenant le code JavaScript permettant la lecture dun
entier en affichant le message Saisir votre valeur (valeur par dfaut est indfinie) puis dincrmenter
la valeur saisie par 2 et afficher le rsultat dans une boite de dialogue.
Si on saisit une chane de caractres on affichera le texte suivant : Conversion impossible .
B) Les types :
En JavaScript il nest pas ncessaire de dclarer le type des variables, contrairement aux autres
langages tels que Pascal, C, Java,...
En fait, JavaScript utilise 4 types de donnes :
o Des nombres : entiers ou avec virgules.
o Des chanes de caractres (String)
o Des boolens : prend la valeur True pour vrai et false pour faux.
o Le type null :mot qui indique que la variable est vide.
VI.
VII.
Activit10:
Crer un fichier HTML nomm Act10.html contenant le code JavaScript permettant de
dterminer le maximum entre deux entiers.
Le rsultat sous forme dune fentre de message.
Activit11:
Crer un fichier HTML nomm Act11.html contenant le code JavaScript permettant de
dterminer le maximum entre trois entiers.
Le rsultat sous forme dune fentre de message.
Constatations :
La forme simple rduite :
If(condition)
{ traitement ;}
La forme simple complte :
If(condition)
{ traitement1 ;}
else
{ traitement2 ;}
La forme simple gnralise :
If(condition)
{ traitement1 ;}
else
else
{ traitement n ;}
Activit12:
Soit le code JavaScript suivant :
<SCRIPT LANGUAGE="javascript">
var m=prompt("Entrez le numro de mois : "," ");
var a= prompt("Entrez la valeur de lanne: ","20 ");
switch(a){
case"1" : case"2" : case"3" : case"4" : case"5" : case"6" : case"7" :j:=31; break;
case"1" : case"2" : case"3" : case"4" :j==30;
case"2" : if(m MOD 4= 0)
j=29; else j=28; }
Page
:6
alert(" Le nombre des jours du mois
N",m+"est="+j)
;
</SCRIPT >
Formation Javascript
Prof:
Barkallah haitham
Travail faire :
1. Saisir le code JavaScript ci-dessus et enregistrer le fichier sous le nom Act12.html .
2. Corriger les erreurs qui figurent dans ce code.
Constatation :
Switch(..){
Case .. : traitement1 ; break ;
Case ...: traitement2 ; break ;
.
.
Case .. : traitementn ; break ;
default autre traitement ; break ;}
VIII.
A) La boucle pour :
Activit13:
Crer un fichier HTML nomm Act13.html contenant le code JavaScript permettant dafficher
tous les nombres parfaits compris entre 5 et 1000 ; sachant quun nombre N est dit parfait sil est
gal la somme de ses diviseurs sauf lui-mme.
Exemple : Pour N=6 la somme ses diviseurs (sauf 6) est 1+2+3=6, donc 6 est un nombre parafait.
Constatation :
do
{
Traitement rpter
}while( condition(s)) ;
La condition utilise aprs while est une condition de continuit.
Page : 7
Formation Javascript
Prof:
Barkallah haitham
Exemple :
Lire deux entiers a et b tels que a>1 et b>1 :
do
{ a = prompt("Donner le premier entier : "," ");
C) La boucle tantque :
Activit15:
Crer un fichier HTML nomm Act15.html contenant le code JavaScript permettant de calculer
le PGCD de deux entiers a et b, tels que a>1 et b >2, en utilisant la mthode des diffrences.
Constatation :
while( condition(s))
{ Traitement rpter ;}
Exemple :
Lire deux entiers a et b tels que a>1 et b>1 :
while( a !=b)
{ if (a>b)
a - = b;
Else b - = a; }
IX.
Activit16:
Crer un fichier HTML nomm Act16.html cotenant un code JavaScript permettant dafficher le
maximum entre deux entiers tout en utilisant une fonction.
Constatation :
<HEAD>
..
Function nom_fonction (paramtre(s))
{ Traitement(s) ;
[Return nom_variable ;] }
..
</HEAD>
Activit17:
Crer un fichier HTML nomm Act17.html contenant un code JavaScript permettant dafficher
le mot Bonjour.
NB : Dclarer une fonction affiche non paramtre.
Constatation:
..
Exemple :
Ecrire une fonction permettant deffectuer la somme de deux entier a et b donnes en paramtre.
Function Somme (a,b)
{ var som=a+b;
Return som; }
Page : 8
Formation Javascript
Prof:
Barkallah haitham
X.
Activit18:
Crer un fichier HTML nomm Act18.html contenant un code JavaScript permettant louverture
dune bote de dialogue contenant votre nom et prnom lors dun click en utilisant lvnement
OnClick().
Constatation:
JavaScript offre la possibilit dutiliser plusieurs vnements, contrairement au HTML qui se
contente de lunique vnement Clic.
Syntaxe : <nom_balise OnEvnement= fonction()>
A) OnClick :
Activit19:
Crer un fichier HTML nomm Act19.html contenant un code JavaScript permettant de calculer
le cube dun entier saisi dans une zone texte en cliquant sur un bouton ou un lien hypertexte.
Constatation:
Lvnement OnClick peut tre utilis avec .
Exemple :
Modifier la solution ralise dans lexemple prcdent en utilisant lvnement OnClick.
Appel de la fonction : <input type= button value= Afficher la somme
OnClick= Somme()>
Ou bien : <A Href=# OnClick=Somme()>Afficher la somme</A>
Dclaration de la fonction :
Function somme()
{Var s= document.formulaire.a.value + document.formulaire.b.value;
Alert(La somme est gale :+s) ;
}
B) OnFocus :
Activit20:
Crer un fichier HTML nomm Act20.html contenant un code JavaScript permettant de lire une
chaine saisie dans une zone texte puis de la transformer en majuscule dans une autre zone de texte.
Lvnement sera dclench lorsque le curseur est mis dans la nouvelle zone.
Constatation:
Lvnement OnFocus survient lorsquun champ texte est prt recevoir ce que lutilisateur a
lintention de taper au clavier. (c-a-d quand la zone a le focus (curseur))
Exemple :
Modifier la solution ralise dans lexemple prcdent en utilisant lvnement OnFocus.
Tout dabord il faut ajouter une troisime zone de texte :
Appel de la fonction : <input type= text name=s OnFocus= Somme()>
Dclaration de la fonction :
Function somme()
{Var s= document.formulaire.a.value + document.formulaire.b.value;
Page : 9
Formation Javascript
Prof:
Barkallah haitham
document.formulaire.s.value = s ;}
C)OnChange :
Activit21:
Crer un fichier HTML nomm Act21.html contenant un code JavaScript permettant de
slectionner le nom dun pays partir dune liste droulante puis de lafficher dans une zone de
texte.
Constatation:
Lvnement OnChange survient lorsquun champ de formulaire perd le focus.
Exemple :
Ecrire un script qui permet de lire une chaine saisie dans une zone texte. Lorsque le curseur quitte
cette zone, la chaine sera remplace par sa taille.
Appel de la fonction : <input type= text name=ch OnChange= taille()>
Dclaration de la fonction :
function taille()
{var v=document.f.ch.value;
document.f.ch.value=v.length; }
D) OnSubmit :
Activit22:
Crer un fichier HTML nomm Act22.html contenant un code JavaScript permettant de
contrler la saisie de deux champs texte Nom et Age lors de lenvoie du formulaire.
Utiliser une fonction Verif() qui permet de vrifier les conditions suivantes:
- Les champs ne doivent pas tre vides.
- Lge doit tre numrique et suprieur ou gal 18.
Constatation:
Lvnement OnSubmit survient lorsque lutilisateur clic sur le bouton envoyer.
Solution :
<HTML><HEAD>
<SCRIPT language=javascript>
function verif(){
if(document.f.nom.value=="" || document.f.age.value==""){
alert("les champs sont vides");
return false;}
if(isNaN(document.f.age.value)){
alert("l'age doit tre numrique");
return false;}
if(document.f.age.value<18){
alert("l'age doit tre > 18");
return false;}}
</SCRIPT></HEAD><BODY>
<FORM method="POST" name="f" action="ch.html" onsubmit="verif()">
<p>Saisir votre nom<input type="text" name="nom" size="20"></p>
<p>Saisir votre ge <input type="text" name="age" size="20"></p>
<p><input type="submit" value="Envoyer" name="B1">
<input type="reset" value="Rtablir" name="B2"></p>
</FORM> </BODY></HTML>
Page : 10
Formation Javascript
Prof:
Barkallah haitham
XI.
Ch.Substr(p,n) ;
Copy(ch,p,n)
Ch.charAt(x) ;
Ch[x]
ou
P1=Ch.indexOf(e,0);
P2=Ch.indexOf(a);
P1=1 P2= -1
Ch1=ch.Substr(1,3) ;
Ch1=erc
C1=Ch.charAt(3) ;
C2=Ch.charAt(7) ;
C1=c C2=
B) Lobjet Math
Activit25:
Ecrire un code JavaScript permettant de calculer lhypotnuse dun triangle de cts A et B
(SQRT=racine carr).Puis dafficher le rsultat dans une nouvelle zone de texte.
Nb : utiliser une fonction Calcul_hypotenuse() pour ce calcul.
Mthodes
Math.abs(x)
Rle
Permet de retourner la valeur absolue de x
Math.sqrt(x)
Math.round(x)
Math.random()
Page : 11
Exemple
X= -2 ;
Y=Math.abs(X) ;
Y=2
X= 4 ;
Y=Math.sqrt(X) ;
Y=2
X= 4,45 ;
Y=Math.round(X) ;
Y=4
Y=Math.random () ;
Y= valeur_alatoire
Formation Javascript
Prof:
Barkallah haitham
Math.eval(x)
pas d'argument)
Pour avoir un nombre alatoire entre 0 et 5 par
exemple il faut crire :
Permet dvaluer une chaine de caractre sous
forme de valeur numrique.
Y=Math.random ()*5 ;
X=2+6*2;
Y=Math.eval(X) ;
Y=14
C) Lobjet Image :
Activit26:
Crer un fichier HTML nomm Act26.html contenant un code JavaScript permettant de crer une
page web contenant une image :
Suite un clic sur le bouton suivant , limage sera remplace par une autre.
Et suite un clic sur le bouton prcdent , on revient limage initiale.
Constatation :
Soit limage suivante: <img src="image1.jpg" width="140" height="76" name="identifiant">
Pour modifier cette image par une autre, on utilise la syntaxe suivante:
document.images["identifiant"].src = "image2.jpg" ;
XII.
Activit27:
Crer un fichier HTML nomm Act27.html contenant un code JavaScript permettant de lire le prix
unitaire et la quantit en stock dun produit, dans zone de texte, et suite un clic sur un bouton le
programme va afficher le montant total dans une autre zone.
Constatation :
Pour affecter le contenu dune zone de saisie une variable, on utilise la syntaxe suivante :
Nomvariable = document.nomformulaire.nomzonedesaisie.value ;
Pour modifier la valeur dune zone de texte, on utilise la syntaxe suivante :
document.nomformulaire.nomzonedesaisie.value = Expression ;
Page : 12
dune
variable
Formation Javascript
Prof:
Barkallah haitham
Nomvariable = document.nomformulaire.nomcase[indice].value ;
Pour rcuprer le nombre doption dans un groupe de cases doption, on utilise la syntaxe
suivante :
Nomvariable = document.nomformulaire.nomcase.length ;
Constatation :
Pour trouver le nombre dlments dans une liste droulante, on utilise la syntaxe suivante:
document.nomformulaire.nomliste.options.length;
Pour retourner lindice dun lment slectionn, on utilise la syntaxe suivante:
document.nomformulaire.nomliste.options.selectedIndex;
NB : Lindice dune liste droulante commence partir de 0.
Pour retourner le texte dun lment dune liste, on utilise la syntaxe suivante :
document.nomformulaire.nomliste.options[indice].text ;
Pour retourner la valeur dun lment dune liste, on utilise la syntaxe suivante :
document.nomformulaire.nomliste.options[indice].value;
Page : 13
Formation Javascript
Prof:
Barkallah haitham
Pour vrifier si une option est slectionn (renvoie true) ou non (renvoie false), on utilise la
syntaxe suivante :
document.nomformulaire.nomliste.options[indice].selected;
Pour ajouter une nouvelle option une liste droulante, on utilise la syntaxe suivante :
Nomvariable=new option(texte, valeur) ;
document.nomformulaire.nomliste.options[Taille_liste]=nomvariable;
La suppression dune liste se fait travers la syntaxe:
document.nomformulaire.nomliste.options[indice]=null;
Activit 31 :
Modifier lactivit prcdente de telle faon dcrire le code javascript dans un fichier externe.
Remarque :
La dclaration de foctions javascript peut se faire :
Entre <HEAD> et </HEAD>
Entre <BODY> et </BODY>
Dans un fichier texte externe, avec lextension .js, inclure par la suite dans les fichier HTML.
Dans ce cas, il faut ajouter la partie entte du document HTML la commande suivante :
<SCRIPT LANGUAGE=javaScript SRC=FichierTexte.JS></SCRIPT>
XIII.
XIV.
L'objet Date() contient 4 fonctions qui permettent d'afficher l'heure et le jour selon les cas. Les 4
fonctions qui affichent l'heure sont :
toString() : date en anglais, heure (hh:mm:ss) et fuseau horaire ;
toTimeString() : heure (hh:mm:ss) au format 24h si navigateur en franais et fuseau horaire ;
Page : 14
Formation Javascript
Prof:
Barkallah haitham
toLocaleString() : date dans la langue du systme, heure (hh:mm:ss) au format 24h si navigateur
en franais ;
toLocaleTimeString() : heure (hh:mm:ss) au format 24h si navigateur en franais.
Exemple : afficher l'heure du systme et la mettre jour toutes les secondes.
function horloge()
{
var tt = new Date().toLocaleTimeString(); // hh:mm:ss
document.getElementById("timer").innerHTML = tt;
setTimeout(horloge, 1000); // mise jour du contenu "timer" toutes les
secondes
}
Nous pouvons pousser un peu plus la prcision de la comparaison en ajoutant l'heure de la date :
Page : 15
Formation Javascript
Prof:
Barkallah haitham
thedate=mysplit[0].split('-');
if (format=="en")
{
year = parseInt(thedate[0],10);
month = parseInt(thedate[1],10);
day = parseInt(thedate[2],10);
if ((mysplit[0].length != 10) || (thedate.length != 3) ||
(isNaN(year)) || (isNaN(month)) || (isNaN(day)) ||
(thedate[0].length < 4) || (thedate[1].length < 2) ||
(thedate[2].length < 2))
{
return false;
}
}
else if (format=="fr")
{
day = parseInt(thedate[0],10);
month = parseInt(thedate[1],10);
year = parseInt(thedate[2],10);
if ((mysplit[0].length != 10) || (thedate.length != 3) ||
(isNaN(year)) || (isNaN(month)) || (isNaN(day)) ||
(thedate[0].length < 2) || (thedate[1].length < 2) ||
(thedate[2].length < 4))
{
return false;
}
}
else
{
return false;
}
onedate = new Date(year, month-1, day);
year = onedate.getFullYear();
if ((onedate.getDate() != day) ||
(onedate.getMonth() != month-1) ||
(onedate.getFullYear() != year ))
{
return false;
}
thetime
hours =
minutes
seconds
= mysplit[1].split(':');
parseInt(thetime[0],10);
= parseInt(thetime[1],10);
= parseInt(thetime[2],10);
Page : 16
Formation Javascript
Prof:
Barkallah haitham
La fonction prend un paramtre supplmentaire qui s'appelle format. Sa valeur est soit "fr" soit "en".
isGoodDate("18-11-2012 11:36:00","fr"); retournera true. isGoodDate("18-11-2012
11:36:00","en"); retournera false.
isGoodDate("2012-11-18 11:36:00", "fr"); retournera false. isGoodDate("2012-11-18
11:36:00", "en"); retournera true.
Dans le cas o le second paramtre n'est ni "fr" ni "en" la fonction retournera false. Tout ceci sous
rserve que la chane passe contienne effectivement une date et une heure valides.
Comment calculer le nombre de jours entre deux dates ?
Si vous souhaitez calculer le nombre de jours sparant deux dates donnes, cette fonction fera votre
bonheur :
function diffdate(d1,d2){
var WNbJours = d2.getTime() - d1.getTime();
return Math.ceil(WNbJours/(1000*60*60*24));
}
Vous pouvez bien sr enrichir cette fonction en spcifiant le l'unit de temps renvoyer :
function diffdate(d1,d2,u){
var div=1;
switch(u){
case 's':
div=1000;
break;
case 'm':
div=1000*60;
break;
case 'h':
div=1000*60*60;
break;
case 'd':
div=1000*60*60*24;
break;
}
Page : 17
Formation Javascript
Prof:
Barkallah haitham
Comment remplacer une image par une autre lors du passage de la souris ?
Comment changer la couleur de fond d'une ligne (balise <tr>) lors du passage de la
souris ?
Voici la fonction :
function detectTouche(e){
if(parseInt(navigator.appVersion,10) >=4){
if(navigator.appName == 'Netscape'){ // Pour Netscape, firefox, ...
document.getElementById('zone').value = String.fromCharCode(e.which);
document.getElementById('zone1').value = e.which;
}
else{ // pour Internet Explorer
document.getElementById('zone').value = String.fromCharCode(e.keyCode);
document.getElementById('zone1').value = e.keyCode;
}
}
}
Page : 18
Formation Javascript
Prof:
Barkallah haitham
Dans le premier champ texte, la lettre s'affichera et dans la seconde, son code ASCII associ.
Comment aller la page prcdente, suivante ?
Il faut pour cela utiliser les proprits "screen" suivantes : - height pour la hauteur
- width pour la largeur
Entre les balises <head></head> :
hauteur = screen.height;
largeur= screen.width;
resol = largeur+ " x " + hauteur;
alert(resol);
Il n'y a malheureusement pas grand chose faire dans ce cas. La meilleure faon de faire est d'utiliser
les balises HTML :
<noscript>
Page : 19
Formation Javascript
Prof:
Barkallah haitham
La possibilit historique.
document.monFormulaire.monInput
C'est la plus mauvaise. En effet, l'adressage n'est correctement support que par Internet Explorer et rien
n'assure la compatibilit avec les navigateurs futurs. De plus si nomInput contient des caractres
spciaux (typiquement les [] de PHP), cette syntaxe ne fonctionne pas. Elle ne peut que difficilement
tre utilise pour des noms gnrs dynamiquement.
Adressage par les tableaux forms et elements.
Le document contient un tableau de ses formulaires (forms) et chacun des formulaire contient un
tableau de ses lments (elements).
document.forms['monFormulaire'].elements['monInput']
Cette syntaxe est bien plus portable que la prcdente, accepte les caractres spciaux (comme []) et est
aise utiliser avec des noms gnrs dynamiquement.
Utiliser l'id de l'input.
Chaque lment de la page HTML peut tre dsign de faon unique par son id ( vous de vous assurer
qu'il existe un et un seul lment ayant cet id).
document.getElementById('monInputId')
Cette mthode utilise le DOM, est trs souple et concise. Elle connat certaines limitations pour des
utilisations dans des boucles.
Comment rcuprer la valeur d'un champ texte ?
Page : 20
Formation Javascript
Prof:
Barkallah haitham
Ce code est utile pour rcuprer la valeur d'un select lorsque, par exemple, l'internaute clique dessus.
document.getElementById('liste').value;
Ce code est valable uniquement si l'attribut multiple de la balise select est absent. Et il faut prciser
l'attribut value dans les balises option. Dans le cas contraire, le rsultat dpend du navigateur. Certains
navigateurs affichent alors le texte contenu entre les balises ouvrantes et fermantes des option.
Explications :
document.getElementById('liste') permet de dsigner la liste en question. La proprit options permet
de dsigner une des valeurs de la liste droulante. Il s'agit d'un tableau (il possde donc toutes les
proprits d'un tableau JavaScript). Ainsi, pour dsigner le premier lment de la liste, il suffit de faire :
document.getElementById('liste').options[0]
Ce code est utile pour, par exemple, rcuprer le texte de l'option choisie par l'internaute dans une liste
droulante select.
var texte;
texte =
document.getElementById("liste").options[document.getElementById('liste').selectedI
ndex].text;
Pour rcuprer les valeurs slectionnes dans un select multiple, il faut parcourir l'ensemble des options
de ce select.
var selectedList = [],
selectBox = document.getElementById("liste"),
i;
Page : 21
Formation Javascript
Prof:
Barkallah haitham
La collection des options est incluse dans l'objet liste retourn par getElementById(), on peut donc
simplifier lgrement le code :
var selectedList = [],
selectBox = document.getElementById("liste"),
i;
for (i=0; i < selectBox.length; i++)
{
if (selectBox[i].selected)
{
selectedList.push(selectBox[i]);
}
}
Pour vrifier l'tat des cases cocher (chexbox), il faut rechercher ces lments dans le formulaire puis,
s'ils sont prsents, les analyser un un :
var
var
les
var
n = inputForm.length;
for (i=0; i<n; i++)
{
if (inputForm[i].type.toLowerCase()=="checkbox") // si c'est une case
cocher
{
if (inputForm[i].checked) // case coche
{
alert(i + " est coche");
}
else // sinon
{
alert(i + " n'est pas coche");
}
}
}
Pour envoyer automatiquement un formulaire, on utilise la mthode submit de l'objet formulaire. Dans
l'exemple ci-dessous, le formulaire sera envoy 2500 millisecondes aprs l'appel la fonction.
Page : 22
Formation Javascript
Prof:
Barkallah haitham
setTimeout(function(){document.getElementById("idFormulaire").submit();},2500);
Vous souhaitez, pour des raisons esthtiques (ou autres), que votre formulaire soit soumis non pas par
appui sur un bouton ou une image, mais par un clic sur un simple lien HTML. Il suffit pour cela de
dclencher la soumission avec l'appel de la mthode submit() de l'objet formulaire, et d'ajouter le motcljavascript pour prvenir le navigateur de considrer le lien comme tant une instruction JavaScript.
<a href="javascript:document.getElementById('idFormulaire').submit()">valider</a>
Lorsqu'un formulaire est soumis par sa mthode JavaScript submit(), le gestionnaire d'vnement du
formulaire onsubmit n'est pas dclench !
De par la prsence d'une pseudo-url, l'utilisation de ce code n'est toutefois pas recommande.
Comment vrifier que l'utilisateur a renseign un champ d'un formulaire ?
Vous voulez vrifier qu'un utilisateur a bien saisi une valeur dans un des champs de votre formulaire (le
champ nom par exemple) :
function verification(){
if(document.getElementById('nom').value == ""){
alert ('Vous avez oubli de saisir un champ !');
return false;
}
return true;
}
Page : 23
Formation Javascript
Prof:
Barkallah haitham
function chiffres(event) {
// Compatibilit IE / Firefox
if(!event && window.event) {
event=window.event;
}
// IE
if(event.keyCode < 48 || event.keyCode > 57) {
event.returnValue = false;
event.cancelBubble = true;
}
// DOM
if(event.which < 48 || event.which > 57) {
event.preventDefault();
event.stopPropagation();
}
}
XV.
Rfrences
* Support de cours Javascript Centre NTE Nouvelles Technologies et Enseignement
UNIVERSIT DE FRIBOURG - SUISSE
http://nte.unifr.ch/IMG/pdf/supportjavascript.pdf
* Club des dveloppeurs Javascript http://javascript.developpez.com/
* Tutoriel Javascript http://openclassrooms.com/courses/tout-sur-le-javascript
jjgh
Page : 24
Sommaire
I.
Introduction_________________________________________________________________________1
II.
III.
IV.
V.
VI.
VII.
VIII.
IX.
X.
XI.
XII.
XIII.
XIV.
XV.
Rfrences_________________________________________________________________________23