Premiers pas en JavaScript
21.2 onClick sur un bouton ou bouton radio
cuy copyleft
  See You Why?  

 


les évènements en JavaScript (21.1) | | Exercices sur l'évènement onClick (21.8)

Contenu


JavaScript 1 - Introduction
JavaScript 2 - Commentaires et instructions
JavaScript 3 - Variables
JavaScript 4 - Types de variables
JavaScript 5 - Variables et chaines
JavaScript 6 - Les fonctions
JavaScript 7 - Les fonctions à paramètre unique
JavaScript 8 - Les fonctions à paramètres multiples
JavaScript 9 - L'instruction RETURN dans une fonction
JavaScript 10 - Appel d'une fonction dans une autre fonction
JavaScript 11 - Les variables locales ou globales
JavaScript 12 - Quelques opérateurs mathématiques
JavaScript 13 - ???
JavaScript 14 - L'instruction IF, pour les conditions
JavaScript 15 - L'instruction IF... ELSE..., pour les conditions à deux sorties
JavaScript 16 - Les IF imbriqués et fonction aléatoire
JavaScript 17 - Les conditions complexes
JavaScript 18 - L'instruction SWITCH, en cas de choix multiples
JavaScript 19 - La boucle FOR
JavaScript 20 - La boucle WHILE
JavaScript 21 - Les événements dans la programmation
21.1 JS : Évènements ou événements en JavaScript
21.2 JS : Un exemple onClick sur un bouton ou sur un bouton radio
21.3 JS : Évènements : onMouseover et onMouseout sur image ou sur tableau
21.8 JS : quelques exercices sur l'événementiel chez JS
21.9 JS : un test sur l'événementiel chez JS
JavaScript 22 - Quelques événements : onMouseOver onLoad etc.
JavaScript 23 - Les objets
JavaScript 24 - Créer ses propres objets
JavaScript 25 - Appliquer des méthodes à ses objets
JavaScript 26 - Les tableaux
JavaScript 27 - Différentes façons de créer des tableaux
JavaScript 28 - Propriétés et méthodes applicables aux tableaux
JavaScript 29 - Les méthodes applicables aux tableaux
JavaScript 30 - Méthodes de tris pour tableaux SORT, REVERSE et PUSH
JavaScript 31 - Ajouter des éléments à un tableau en utilisant une boucle
JavaScript 32 - Tecnique pour imprimer les éléments d'un tableau
JavaScript 33 - Lecture de bases de données
JavaScript 34 - Les objets mathématiques
JavaScript 35 - Les objets relatifs aux dates
JavaScript 36 - Les formulaires JS sont des objets
JavaScript 37 - Accès aux éléments d'un formulaire
JavaScript 38 - Validation des entrées d un formulaire
JavaScript 39 - Graphisme et JavaScript

JavaScript 50 - Calculateur d'emprunt
JavaScript 51 - Calendrier perpétuel et options diverses
JavaScript 99 - Documentation


 
 

 
Avec un peu de JavaScript,
n'oubliez pas de rendre vos pages
plus dynamiques et plus interactives.
 

 
 

 
Notre volonté est de rendre cette formation de JavaScript,
disponible le plus rapidement possible.
Le lecteur excusera l'imperfection de ce travail en cours de construction
et pourrait nous informer des défauts rencontrés.

  MERCI
 

 

 

I. Évènements ou événements en JavaScript

voir < < < Section précédente

 

II. Évènements onClick sur un bouton en JavaScript

 

C. Exemple : onClick avec un bouton classique

Reprenons l'exemple donné dans la section précédente. Un bouton au centre de la page avec la question "Compris ?" et, si l'on clique sur ce bouton, le message "J'espère bien !" apparaît dans une fenêtre pop-up.

<form>
<center>
<input name="button" type="button" onClick="alert('J\'espère bien !')" value="Compris ?">
</center>
</form>

Puisqu'un bouton se place dans un formulaire, il y a lieu d'ouvrir et de fermer la balise <form> ;
puisque dans un formulaire, il n'existe pas de paramètre align="...", je dois bien ouvrir et fermer la balise <center> ;
en HTML, nous savons qu'un bouton est un <input type="button"> dont le paramètre value indique le texte affiché sur le bouton, j'ajoute le paramètre value="Compris ?" ;
reste à ajouter l'instruction souhaitée en cas de clic sur ce bouton, d'où ce onClick="xxx" ;
<input name="button" type="button" onClick="xxx" value="Compris ?">
mais xxx n'est pas du JS, je dois y noter une instruction JS... j'y note un message dans une fenêtre popup alert(); avec, entre guillemets le message que je veux voir affiché ;
je suis donc tenté de noter entre les parentèses "J'espère bien !", message entre guillemets ;
<input name="button" type="button" onClick="alert("J'espère bien !")" value="Compris ?">

Mais... les guillemets ouvrants de mon message pourraient être confondus avec les guillemets fermants de l'instruction onClick...
<input name="button" type="button" onClick="alert("J'espère bien !")" value="Compris ?">

je peux donc utiliser de simples quotes en lieu et place des guillemets (doubles quotes)...
mon message devient donc 'J'espère bien !' que je serais tenté de noter entre mes parenthèses, mais...
<input name="button" type="button" onClick="alert('J'espère bien !')" value="Compris ?">

... malheureusement, rien ne ressemble plus à une apostrophe que les simples quotes dans lesquelles j'ai décidé de placer mon message...

peu importe, un vague souvenir des caractères d'échappement (cf. les échappements) me permet de savoir que noter \' au lieu de ' permet à JS de se rendre compte qu'il doit considérer le caractère pour ce qu'il est (apostrophe) et non pour un caractère de syntaxe (quote fermant).

Enfin, le paramètre name n'a d'autre utilité que de pouvoir distinguer ce bouton des éventuels autres boutons qui seraient présents sur cette page... aucune utilité ici, mais parfois très utile.

D'où l'instruction finalisée à écrire :

<input name="button" type="button" onClick="alert('J\'espère bien !')" value="Compris ?">

Ouf ! Heureusement que toutes les programmations d'évènements JS n'amènent pas autant de difficultés... Mais cet exemple est un bon exemple concernant le fait que toutes les règles JS doivent être connues, susceptibles d'être utilisées, voire même d'être maitrisées pour éviter des erreurs qui ne seraient même pas perçues par un 'non initié' ou un 'mal initié'.

 

D. Exemple : onClick avec des boutons de type 'radio'

L'évènement onClick est probablement un des plus fréquents et le plus facilement traitable en JS. Une autre utilisation est la réaction immédiate à une réponse donnée à un QCM, comme illustré ci-après.

Si l'on considère qu'une page d'une encyclopédie (sans illustrations, graphiques ou schémas) contient 60 lignes de 50 caractères (soit 3000 signes) et qu'un volume est constitué de 2500 pages, combien de volumes d'une encyclopédie peut-on enregistrer sur un DVD-ROM ?
un peu plus de 20 volumes
un peu plus de 200 volumes
un peu plus de 2000 volumes
un peu plus de 20000 volumes

Si le lecteur a oublié ou ne sait pas comment créer un formulaire avec des boutons de type radio, nous l'invitons à lire notre tutoriel relatif au langage HTML. Rappelons-en l'essentiel :

La création d'un formulaire doit être encadrée par les balises <form> et </form>.

Un texte à l'intérieur d'un formulaire se note comme un texte ordinaire, via les balises de paragraphes <p> et </p>.

Chaque bouton d'option (=radio button) sera engendré par :
<input type="radio" name="choix" value="r">
choix sera le nom de la variable et r la valeur que prendra la variable choix si le lecteur coche cette option... le lecteur attentif aura compris que le nom de la variable sera le même pour chacune des options à la même question, mais que le paramètre value sera différent pour distinguer la réponse cochée.

Ici, il ne nous semble pas utile de retenir la valeur cochée par le lecteur, puisque notre intention est de lui donner une indication, quelle que soit l'option cochée. Par contre, il nous parait important de prévoir le message adapté à chaque réponse donnée... message que l'on veut voir apparaitre dans une fenêtre 'pop up'...
d'où le paramètre onClick pour chaque bouton,
suivi d'un signe =,
lui-même suivi de l'instruction JS entre guillemets qui est l'instruction alert avec entre parenthèses le message noté entre entre guillemets ou entre simples quotes.
Nous n'illustrons ici que le message affecté à un 'clic' sur le premier bouton radio.
<input type="radio" name="choix" onClick="alert('Faux.\n\n20 volumes x 2500 pages/volume x 3000 caractères/page = \n150.000.000 caractères\nsoit environ 150 Mo.\nOr, un DVD double face, double couche a une capacité de 17 Go ou 17&nbsp;000 Mo.\n\n20 volumes, \nc\'est beaucoup trop peu.')"> .

Nous ne rappellerons pas ici les exigences relatives à l'emploi des guilles, des simples quotes, des caractères d'échappement du genre \n pour nouvelle ligne, \' pour une apostrophe à ne pas confondre avec celles nécessaires pour la syntaxe, etc.

 

Dans les deux exemples ci-dessus, l'évènement onClick n'a été associé qu'à deux types d'objets : un bouton classique et un bouton de type radio (case unique à cocher).

D'autres objets peuvent être associés à l'évènement onClick :

À vos crayons... ou à votre ordi pour tester ces différentes possibilités.

Quelques autres exercices ou exemples et leur source, tous utilisant un ou plusieurs boutons et l'évènement onClick seront abordés dans les exercices de ce chapitre, mais aussi ci-après :

Créer un bouton qui, lorsque l'on clique dessus, ouvre une fenêtre popup avec un message "Vous avez cliqué !".
Créer une page avec 4 boutons qui, lorsque l'on clique dessus, changent la couleur de fond d'écran de votre page.
Créer une page avec 4 boutons qui, au clic, vous envoient chacun vers une page Internet différente.
Créer un bouton qui, lorsque l'on clique dessus, écrive simplement dans la page courante : "Vous avez cliqué !".
Créer une page qui, avant que ne s'ouvre réellement la page, envoie 4 fenêtres popup consécutives (avec messages différents... puis écrit un message à l'écran et un bouton qui invite à voir une information qui apparait dans une nouvelle fenêtre popup.
Créer une page qui, ecrit un message du type : "Cliquez sur le bouton après avoir entré votre prénom dans la boite de dialogue", ouvre un input text et un bouton. Si l'on clique sur le bouton, une fenêtre pop-up vient souhaiter la bienvenue au lecteur qui a entré son nom ou prénom.

 

 

III. Évènements onMouseover et onMouseout sur une image en JavaScript

voir suite >>>

 

VIII. Exercices relatifs aux évènements

voir suite >>>

 

 

IX. Test relatif aux évènements

voir suite >>>

 

 


les évènements en JavaScript (21.1) | | Exercices relatifs aux évènements (21.8)