Le but de cette section n'a pas pour ambition de traîter de la programmation
orientée objet mais de donner une idée de ce qu'est un objet, concept
nécessaire à la création de scripts Javascript.
Le 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 des propriétés sont associées.
Cette notion semble floue pour l'instant mais voyons voir cela sur un exemple concret:
Imaginez un arbre dans un jardin comportant une branche sur laquelle se trouve un nid. On suppose
la hiérarchie d'objets est définie comme ceci:
- jardin
- arbre
- branche
- feuille
- nid
- largeur: 20
- couleur: jaune
- hauteur: 4
- tronc
- racine
- salade
- balançoire
- trapèze
- corde
- nid
- largeur: 15
- couleur: marron
- hauteur: 6
Le nid sur l'arbre est donc désigné comme suit:
jardin.arbre.branche.nid
Contrairement au nid situé sur la balançoire:
jardin.balançoire.nid
Pour changer la couleur du nid (dans l'arbre) et le peindre en vert,
il suffit d'une commande telle que la suivante :
jardin.arbre.branche.nid.couleur= vert;
Les objets en Javascript sont représentés de cette manière à
ceci près que ce n'est pas un jardin qui est représenté sous forme d'objets mais
la fenêtre du navigateur.
Javascript divise la page du navigateur en objets, afin de permettre d'accèder
à n'importe lequel d'entre-eux et de pouvoir les manipuler par l'intermédiaire
de leurs propriétés.
On commence généralement par l'objet le plus grand (celui contenant tous les autres)
puis on descend dans la hiérarchie jusqu'à arriver à l'objet voulu.
- L'objet le plus grand est l'objet fenêtre (les objets en javascript ont leur dénomination
en anglais, donc dans le cas présent window)
- Dans la fenêtre s'affiche une page, c'est l'objet document
- Cette page peut contenir plusieurs objets, comme des formulaires, des images, etc.
Pour accéder à un objet il est donc nécessaire
de parcourir l'arborescence en partant de l'objet le plus grand (l'objet
window) vers l'objet à atteindre.
Soient le bouton (appelé checkbox) et le champ de texte suivants:
- Le formulaire (baptisé form1 pour le distinguer des autres formulaires de la page) est repéré par le code suivant:
window.document.forms["form1"]
- Le bouton checkbox (baptisé checkbox) est repéré par le code suivant:
window.document.forms["form1"].checkbox
- Le champ de texte (appelé champ_text) est repéré par le code suivant:
window.document.forms["form1"].champ_text
Le bouton checkbox a entre autre une propriété checked,
qui retourne la valeur 1 si le bouton est coché, 0 dans le cas contraire.
Cliquez sur le bouton checkbox pour comprendre ce qu'il
est possible de faire grâce à ces propriétés.
Ainsi le formulaire form1 a comme code HTML :
<form name="form1">
<br><input type="checkbox" name="checkbox" onClick="ModifChamp();return true;">
<br><input type='TEXT' name='champ_text' value='Essai du javascript' size='24'></form>
La fonction javascript associée au bouton checkbox est la suivante :
<script language="Javascript">
<!--
function ModifChamp()
{
if (document.forms["form1"].checkbox.checked)
{
document.forms["form1"].champ_text.value='Bouton coché'
}
else
{
document.forms["form1"].champ_text.value='bouton non coché'
}
}
//-->
</script>
Le champ de texte a par exemple comme propriétés:
- name: le nom du champ de texte
- value: le texte contenu dans le champ
- size: la taille du champ de texte
L'appui sur les boutons suivants permet de modifier la propriété
window.document.forms["form2"].champ_text.value,
c'est-à-dire le texte associé au champ de texte nommé
« champ_text » dans le formulaire ci-dessous nommé form2)
|