Voici un simple bouton qui quand on clique dessus, affiche Merci :
<INPUT TYPE="BUTTON" VALUE="Cliquez-moi" ONCLICK="JavaScript:alert('Merci')">
On a encadré Merci par des apostrophes ' et pas par des guillemets " simplement parce que le paramère de ONCLICK doit lui-même être entre guillemets.
Cet exemple fait strictement la même chose qu'avant, mais avec l'appel à une fonction cette fois :
<SCRIPT LANGUAGE="JavaScript">
function Traitement()
{
alert ("Merci")
}
</SCRIPT>
<HTML>
<HEAD></HEAD>
<BODY>
<INPUT TYPE="BUTTON" VALUE="Cliquez-moi"
ONCLICK="JavaScript:Traitement()">
</BODY>
</HTML>
Si j'avais voulu que ce soit lors d'un double clic que la fonction Traitement soit appelée, j'aurais écrit :
<INPUT TYPE="BUTTON" VALUE="Cliquez-moi" ONDBLCLICK="JavaScript:Traitement()">
Attention à certaines incomptabilités : Il n'est pas possible de faire cohabiter sur un même bouton un ONCLICK et un ONDBLCLICK : C'est le ONCLICK qui serait systématiquement appelé, même en cas de double-clic :
<INPUT TYPE="BUTTON" VALUE="Cliquez-moi" ONCLICK="JavaScript:T2()" ONDBLCLICK="JavaScript:T1()">
On peut effectuer du JavaScript quand on perd le focus. On pourrait imaginer par exemple de corriger des données saisies invalides dans un champ lors de la perte de son focus. L'exmple idiot qui suit refuse que votre nom soit Martin (Respectez la casse). Si c'est ce que vous faites malgré tout, il affiche "Non non non" et vous impose d'écrire Drucker à la place :
<SCRIPT LANGUAGE="JavaScript">
function PerdFocus()
{
if (EDINom.value == "Martin")
{
alert("Non
non non !")
EDINom.value = "Drucker"
}
}
</SCRIPT>
<HTML>
<HEAD></HEAD>
<BODY>
Nom : <INPUT TYPE="TEXT" NAME="EDINom"
ONBLUR="JavaScript:PerdFocus()">
<BR>
Prénom : <INPUT TYPE="TEXT">
</BODY>
</HTML>
<SCRIPT LANGUAGE="JavaScript">
function PrendFocus()
{
if (EDINom.value == "")
{
EDINom.value = "Votre nom"
}
}
</SCRIPT>
<HTML>
<HEAD></HEAD>
<BODY>
Nom : <INPUT TYPE="TEXT" NAME="EDINom"
ONFOCUS="JavaScript:PrendFocus()">
<BR>
Prénom : <INPUT TYPE="TEXT">
</BODY>
</HTML>
L'exemple suivant fait la même chose que l'exemple précédent, sauf que cette fois, il n'y a même plus besoin de cliquer dans la zone : Le simple fait de passer la souris par dessus suffit à remplir le champ :
<SCRIPT LANGUAGE="JavaScript">
function SourisPasse()
{
if (EDINom.value == "")
{
EDINom.value = "Votre nom"
}
}
</SCRIPT>
<HTML>
<HEAD></HEAD>
<BODY>
Nom : <INPUT TYPE="TEXT" NAME="EDINom"
ONMOUSEOVER="JavaScript:SourisPasse()">
<BR>
Prénom : <INPUT TYPE="TEXT">
</BODY>
</HTML>
Il n'est pas indispensable d'avoir un élément de formulaire pour déclencher une fonction JavaScript quand on passe par dessus : L'exemple suivant affiche dans une page HTML : "C'est quoi le web ?", et quand on passe sur le mot web qui est en gras, on déclenche la fonction ExpliqueWeb, car la balise STRONG permet le paramètre ONMOUSEMOVE, comme la plupart des balises de mise en forme d'ailleurs.
<SCRIPT LANGUAGE="JavaScript">
function ExpliqueWeb()
{
alert("C'est l'ensemble des pages HTML")
}
</SCRIPT>
<HTML>
<HEAD></HEAD>
<BODY>
C'est quoi le <STRONG ONMOUSEMOVE="JavaScript:ExpliqueWeb()">web</STRONG>
???
</BODY>
</HTML>
Cet exemple affiche simplement "Je charge la page" dès qu'on ouvre la page HTML en question, et "Je quitte la page" dès qu'on quitte la page (ou qu'on la ferme)
<SCRIPT LANGUAGE="JavaScript">
function LeChargement()
{
alert("Je charge la page")
}
function LeDechargement()
{
alert("Je quitte la page")
}
</SCRIPT>
<HTML>
<HEAD></HEAD>
<BODY ONLOAD="JavaScript:LeChargement()"
ONUNLOAD="JavaScript:LeDechargement()">
Je suis dans la page
</BODY>
</HTML>
dsd