- écrire une fonction
- tester la fonction
- les débugueurs
- les principales erreurs

Faire une fonction

1) Une fonction est déclarée dans le head (parfois dans le body) et encadrée par les balises
<script language="javascript">
</script>
Exemple :

function reponse(valeur){
if (valeur=="2" || valeur=="3") alert("Oui !")
else alert("Non ! ")
}


Une déclaration commence par le mot function ("u" : en anglais), suivi de son nom et obligatoirement de deux parenthèses ( ), à l'intérieur peut se trouver un ou plusieurs mots séparés d'une virgule, qui seront ensuite utilisés dans la fonction.
Les lignes de la fonction commencent par une accolade "{" et finissent par une autre fermée "}".
L'intérieur de la fonction peut inclure :
- un test : if (valeur =="2") il faut toujours deux parenthèses, et deux fois le signe = après le nom de la variable à tester
|| veut dire "ou" (touches Alt Gr et 6 en haut du clavier alphanumérique appuyées en même temps)
&& ceut dire "et"
à la suite de if(valeur=="2") se trouve la commande à exécuter : ici l'ouverture d'une boîte d'alerte indiquant "oui !"
La commande qui suit "else" s'exécutera si le test est faux.
Si plusieurs commandes sont à exécuter il faut les mettre entre accolades séparées par des points virgules { première commande; deuxième commande;...}
- directement une commande ou plusieurs commandes.

2) la fonction doit être appelée
lors d'un clic ou lors du passage de la souris sur un élément de la page.
Exemples :
- dans un bouton : appel de la fonction reponse

<input type="button" name="b1" value="bouton qui sert à tester les variables" onclick="javascript:test(1)">

- en cliquant sur le texte d'un calque : l'appel se fait dans la balise <a href
(note : Netscape ne reconnaît pas le clic sur le calque)
Le code serait le même pour le clic sur une image

<div id="idee1" style="position:absolute; width:169px; height:18px; z-index:2; left: 423px; top: 74px">
<a href="javascript:suivi(1)">
<font size="2">salari&eacute; agricole</font> </a>
</div>

- à l'ouverture de la page : dans la balise <body onload="ma_fonction()">

<body onload="init()">

- en permanence : l'appel de la fonction sera alors placé dans les parties de javascript du head ou du body.

Tester la fonction

- créez un bouton dans le body (ou tout autre objet) dans lequel vous inscrirez les variables, qui appelle la fonction (ici test(num))

<FORM NAME="f1">
<input type="button" name="b1" value="bouton qui sert à tester les variables" onclick="javascript:test(1)">
</FORM>

- dans votre fonction, pour tester une variable, faites inscrire dans votre bouton la valeur de la variable (ici num)

pour Netscape 4.5 ou 4.7 : document.f1.b1.value = "num=" + num
pour Internet Explorer : document.all.b1.value = "num=" + num

donc pour les deux navigateurs :

<script language="javascript">
var isNS = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 4)
function test(num) {
if(isNS = true){
document.f1.b1.value = "num=" + num
}
else {
document.all.b1.value = "num=" + num
}
}
</script>

"num=" est juste une indication pour que vous vous rappeliez de la variable testée
num est la valeur de cette variable.
Si l'ordinateur vous renvoie 'undefined' ou une valeur différente de celle que vous attendez , vous avez fait une erreur dans votre fonction.

Les débugueurs (debugger)

Ce sont des programmes qui permettent de dire à quelle ligne le programme "plante". Ils ne donnent que des indications rares sur l'origine et parfois fausses ... mais c'est mieux que rien.
Pour Netscape 7 : le debugger est inclus dans le programme Outils / développement web / console javascript, le debugger de Netscape 4.X n'est plus disponbile sur le site.
Pour Internet Explorer, le debugger est inclus à partir de la version 5.5, sinon vous pouvez le télécharger sur :
http://msdn.microsoft.com/ , rubrique : Script Debugger puis téléchargement

Les erreurs les plus courantes

- les erreurs d'orthographe (c'est vraiment l'erreur la plus fréquente !)
- un nombre de parenthèses ouvertes "{" différent de celles fermées "}".
- deux fonction ou deux variables ayant le même nom

Quand votre page est au point, pensez à supprimer les lignes du bouton.

sommaire