Pierre Perrody
Voici des "petits" cours de javascript que j'avais, à l'origine, écrit pour expliquer un tant soit peu le fonctionnement du javascript à des amis.
Comme il ne faut pas réinventer la roue, je conseillerais de lire cette page qui est bien plus fournie :
Introduction au javascript par la Mozilla Foundation

LES FORMULAIRES

-name // son nom
-method //la method d'envoi des donnée POST et les données sont invisible
// et la GET ou les données sont passée par l'url

-action //la page sur laquelle est envoyé les valeurs


par defaut la methode est post (jsuis pas sur) et l'action est sur la page elle meme!

donc en javascript on peut acceder a un formulaire de plusieurs manières différentes :

par document.nom_du_formulaire si on a mis une valeur a l'attribut name

sinon de manière plus générique par dcument.forms[n] ou [n] est l'indice du formulaire dans
la page, c'est a dire que si il n'y a qu'un seul formulaire l'indice est 0
=>document.forms[0]

sinon ca permet d'acceder aux autres formulaires dans la page :
document.forms[0]
document.forms[1]
etc....

de la meme maniere on peut savoir le nombre de formulaire present dans une page par :

document.forms.length ...
ATTENTION ca va retourner une valeur qui sera toujours superieure a l'indice ..
par exemple das le cas d'un seul formulaire, document.forms.length retournera 1
mais si on veut appeler le formulaire on doit faire :

var i=document.forms.length;
var formulaire=document.forms[i-1];


donc on vient de voir comment acceder a un formulaire
il faut le voir comme un objet qui possede des attribut et des elements.
Ces elements sont les differents bouton, input,select et autres.....

chaque element possede differents attributs :
il y en a un qui est commun c'est l'attribut name (comme pour le formulaire)

sinon pour chacun il y a :

INPUT TYPE=TEXT et INPUT TYPE=PASSWORD
-name
-value //valeur par defaut, affichée
-size// la taille d'affichage du champ
-maxlength // la taille maximale de ce qu'on peut y mettre


INPUT TYPE=HIDDEN
-name
-value


INPUT TYPE=CHECKBOX
-name
-value // la valeur de la case
-checked // si la case est cochée


INPUT TYPE=RADIO
-name
-value
-checked
les bouton radio doivent avoir le meme nom si on veut qu'en
cliquant sur un ca decoche l'autre, mais chaque bouton doit avoir une value
différentes de l'autre



TEXTAREA
-name
-row //le nombre de ligne
-cols //le nombre de colonnes
l'objet textarea est un peu different des autres car
il faut le declarer <textarea row=10 cols=10>mettre sa valeur par defaut</textarea>


SELECT
-name
-size // si size est absent la liste est une liste deroulante avec affichage d'une
seule valeur a la fois, sinon elle apparait comme un petite fenetre affichant
"size" ligne avec un ascenseur si necessaire

-multiple // si on met multiple, on peut choisir plusieurs valeurs dans la liste avec un ctrl clic

Chaque select a plusieurs options

-OPTION
-value
-selected // si l'option est selectionnée
-text // le text n'est pas present dans la balise option
// mais apres celle ci, de meme il est conseillé de fermer la balise après
// <option value=10>montexte</option>
// par defaut si selected n'est pas present la premiere option est selectionnée



INPUT TYPE=BUTTON
-name
-value //le texte affiché dans le button


INPUT TYPE=SUBMIT
-name
-value
// declenche l'envoi du formulaire


INPUT TYPE=RESET
-name
-value
// remet a zero les valeurs du formulaire
// sauf le text du textarea



En javascript, on peut parcourir les elements du formulaire de manière générique et
de manière spécifique :

-pour la maniere spécifique il suffit d'appeller l'element par son nom :
document.monformulaire.nom_de_mon_element
ou
document.forms[n].nom_de_mon_element
- de maniére générique, c'est comme le forms[n] :
document.monformulaire.elements[n] quand on connait la position de l'element
ou
document.forms[n].elements[n]

pareil qu'avec le formulaire on peut savoir le nombre d'element du formulaire par :

document.monformulaire.elements.length
ou
document.forms[n].elements.length

En parcourant les differents elements on peut recuperer leur attributs :

document.forms[n].elements[n].type renvoi le type (text, button, radio, checkbox ...)
document.forms[n].elements[n].name renvoie le nom de l'element.

pour recuperer le "value" des elements qui possede cet attribut ( a l'exception des option du select)
il suffit de faire
document.forms[n].elements[n].value

mais il y a des subtilités :
dans le cas de bouton radio qui ont tous le meme nom comment savoir lequel est coché?

les radio button possede un index qui permet de retrouver chaque bouton
par exemple document.monformulaire.monradiobutton[1]
indique le bouton numero 2 (et oui on commence a compter a 0 en Javascript)
ou
document.forms[n].elements[n][1]

mais ca ne nous indique toujours pas lequel est coché!!!! et quel est sa valeur

pour le savoir il faut parcourir la 'collection' des radio pour savoir lequel est coché! :

var L=document.monformulaire.monradio.length; // me dit combien de boutons
for (i=0; i<L;i++) {
if (document.monformulaire.monradio[i].checked==true) j=i;
}

mon radio coché est le numero (j+1) d'indice j
et donc pour avoir sa valeur il suffit de faire :
var valeur=document.monformulaire.monradio[j].value;

si je fais var cochee=document.monformulaire.monradio[1].checked;
il me retournera true ou false si il est coché ou non

de meme pour un checkbox pour savoir si il est coché on procede de la meme maniere
en faisant if(document.monformlaire.moncheckbox.checked==true);
on sait si il est coché ...

si je fais var check=document.monformlaire.moncheckbox.checked;

il me retournera true ou false si il est coché ou non
et si on a true il suffit de faire
var valeur=document.monformulaire.moncheckbox.value;
pour avoir la valeur.

Pareil pour les select il faut d'abord savoir quel est l'options qui est
selectionnée!

en faisant :

var sel=document.monformulaire.monselect.options.selectedIndex;
je sais quel est l'"indice" de l'option selectionnée,
donc en faisant
var valeur=document.monformulaire.monselect.options[sel].value; j'obtients la valeur
de l'option selectionnée... pour les select on peut aussi recupérer le text associé a chaque options
par var texte=document.monformulaire.monselect.options[sel].text;

mais ca ne marche pas comme ca si le select est de type multiple,
il faut faire un boucle comme pour les radio button :
var len=document.monformulaire.monselect.options.length;
var lesvaleur;
for (i=0;i<len;i++) {
if (document.monformulaire.monselect.options[i].selected==true)
lesvaleur=" "+document.monformulaire.monselect.options[i].value;
}

et à la fin les valeur contient toutes les valeurs selectionnées separées par un espace....