Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Le but de la gestion des événements est de faire réagir la page web aux actions de l’utilisateur
sans passer par le serveur.
C’est de la programmation événementielle : le programme (la page web) réagit à un événement
déclenché par l’utilisateur : cliquer sur un bouton par exemple (button HTML).
On peut aussi réagir à n’importe quel événement : cliquer sur n’importe quelle balise, agrandir
la fenêtre, taper au clavier, etc.
On va regarder le cas des boutons pour une première approche.
Info
Avant de commencer les cours sur les événements, voici quelques exemples concrets.
Exemples d'événements
onChange/ onInput
Exemple1 :input
<form>
<input type="text" id="inp1"value="" onChange="ChangerParOnchange()"/>
<div id="div01"></div>
<input type="text" id="inp2" value="" onInput="ChangerParOninput()"/>
}
function ChangerParOninput()
{
var inp2=document.getElementById('inp2');
var div2=document.getElementById('div02');
div2.innerHTML=inp2.value;
Exemple2 : select
<input type="text" id="inp" />
<select name="" id="monais" onchange="Calculer()">
<option value="10">Dollard</option>
<option value="11">Euros</option>
<option value="15">Pond</option>
</select>
<div id="div01"></div>
//at1.js
var div1=document.getElementById('div01'),
inp=document.getElementById('inp'),
sel=document.getElementById('monais');
function Calculer()
{
div1.innerHTML=inp.value * sel.value+" Dhs";
Résultat :
Exemple3 : select
<body >
<script src="at1.js"></script>
</body>
/* at1.css */
#div01
{
width: 200px;
height: 200px;
margin: 10px;
padding: 10px;
border:3px solid yellow;
box-shadow: 0px 0px 5px 5px lime;
}
/*at1.js */
var div1=document.getElementById('div01'),
sel=document.getElementById('color');
sel.onchange=Colorer;
function Colorer()
{
div1.style.backgroundColor=sel.value;
onError
<script src="at1.js"></script>
</body>
//at1.js
window.onerror=F;
function F(msg,url,line)
{
console.log("Message :",msg);
console.log("Url :",url);
console.log("Line :",line);
}
calculer();
//at1.js
window.onerror=F;
function F(msg,url,line)
{
console.log("Message :",msg);
console.log("Url :",url);
console.log("Line :",line);
}
try {
calculer();//Appel d'une fonction non definie
}
catch (e) {
console.log(e.message);
}
onFocus
<form>
<input type="text" value="" onfocus="alert('onfocus')"/>
</form>
onBlur
<form>
<input type="text" value="" onblur="alert('onblur')"/>
</form>
onKeyDown
onKeyPress
De même :
<input type="text" id="inp" oninput="Afficher()"/>
<div id="div01"></div>
Lors du chargement.
Est utilisé sur l'objet javascript image, window, frame
Est utilisé sur la balise HTML img, body, frameset, frame
<script>
var div01=document.getElementById('div01');
div01.innerHTML +="JAVASCRIPT";
</script>
</head>
<body >
<div id="div01">HTMl & CSS</div>
<script src="at1.js"></script>
</body>
Apres exécution :
Solution :
<script>
window.onload=function()
{
var div01=document.getElementById('div01');
div01.innerHTML +=" JAVASCRIPT";
}
</script>
</head>
<body >
<div id="div01">HTMl & CSS</div>
<script src="at1.js"></script>
</body>
Apres exécution :
onMouseDown
onMouseMove
onMouseOut
<form>
<input type="button" value="Bouton" onmouseout="alert('onmouseout')"/>
</form>
onMouseOver
onMouseUp
<form>
<input type="button" value="Bouton" onmouseup="alert('onmouseup')">
</form>
onMove
onReset
Quand je réinitialise.
Est utilisé sur l'objet javascript forms
Est utilisé sur la balise HTML form.
onResize
Quand je redimensionne.
Est utilisé sur l'objet javascript window, frame
Est utilisé sur la balise HTML body, frameset, frame.
onSelect
Quand je sélectionne.
Est utilisé sur l'objet javascript form
Est utilisé sur la balise HTML input, textarea.
<form onsubmit="alert('onsubmit')">
<input type="submit" value="Bouton" />
</form>
onSubmit
<form onsubmit="alert('onsubmit')">
<input type="submit" value="Bouton" />
</form>
onUnload
onClick
Quand je clique.
Est utilisé sur l'objet javascript link,document, form
Est utilisé sur la balise HTML a, body, area et autre.
onDblClick
onAbort
Assigner un événement
Infos
Types d'événement
Infos
Voici les types d'événement reconnus par l'ensemble des navigateurs à quelques exceptions.
Assigner un événement
Définition
Pour assigner un événement en javascript, vous devez récupérer l'objet javascript qui correspond à la balise
html sur laquelle vous voulez mettre l'événement.
L'emploi de this
Définition
Dans la fonction qui est assignée l'événement (Element.onEvement = nomFonction), vous pouvez utiliser
this.
this représente l'objet javascript auquel on a assigné l'événement.
Par exemple nous voulons récupérer l'url du lien sur le onmouseover.
<a href="http://www.zonecss.fr/" id="idevement">Toutes les feuilles de styles css</div>
//at1.js
function action(){
alert(this.href);
//http://www.zonecss.fr/
}
var momoElement = document.getElementById("idevement");
momoElement.onclick = action;
L'objet event
Netscape (Mozilla,Firefox) et Internet Explorer ne gèrent pas de la même façon l'objet event. Pour le premier,
l'objet event est passé en paramètre à la fonction qui gère l'événement, pour le second c'est un objet global
window.event.
L'objet event regroupe un ensemble de propriétés relatives à l'événement javascript.
Voici la méthode pour récupérer l'objet event suivant les navigateurs.
Code javascript :
function action(event){
var event = event || window.event;
}
var momoElement = document.getElementById("idevement");
momoElement.onclick = action;
event.type
event.target vs event.srcElement
La propriété target de l'objet javascript event permet de récupérer l'objet qui a déclanché l'évenement.
Encore une fois Internet Explorer ne veut pas faire comme tout le monde. Pour lui, c'est srcElement qui
représente l'objet.
Attention
Ce n'est pas forcement l'objet sur lequel est attaché l'événement qui sera renvoyé. Dans le cas ci-dessous si le
div a un événement onclick et que vous avez cliqué sur l'image; c'est l'objet javascript de l'image qui est
renvoyé, puisque c'est lui qui a déclanché l'événement.
<div id="idevement">Mon évènement javascript <img src="monimage.gif" id="monimage"></div>
event.clientX et event.clientY
Pour certain événement où la souris intervient comme le onclick, onmouseup, ... , l'objet event a en plus les
propriétés clientX et clientY.
Ces deux propriétés donnent la position du curseur au moment où l'événement a été effectué.
L'origine est le coin haut gauche de la zone de contenu de la fenêtre de votre navigateur.
Définition
Arrêter la propagation
Imaginons que lorsque l'on clique sur l'image nous ne voulons pas que l'événement du parent soit déclenché.
Pour cela vous devez utiliser la propriété cancelBubble de l'object event qui permet d'arrêter la
propagation de l'événement.
Cependant Firefox conseille l'utilisation de la méthode stopPropagation() de l'objet event à la place de la
propriété cancelBubble.
Nous sommes donc obligés de coupler cancelBubble et stopPropagation.
<div id="idevement">Mon évènement javascript<img src="monimage.gif" id="monimage"></div>
//at1.js
function action(){
alert("action idevement");
}
var momoElement = document.getElementById("idevement");
momoElement.onclick = action;
function action2(){
alert("action monimage");
if (event.stopPropagation)
{
event.stopPropagation();
}
event.cancelBubble = true;
}
var ImgElement = document.getElementById("monimage");
ImgElement.onclick = action2;
Infos
Vous pouvez annuler l'action effectuée, par exemple sur un onsubmit (envoi du formulaire).
Pour cela vous devez utiliser la méthode javascript preventDefault() de l'object javascript event qui permet
d'annuler l'événement.
Cependant Intenet Explorer utilise la propriété javascript returnValue de l'objet event.
Nous sommes donc obligés de coupler preventDefault et returnValue.
<form action="http://www.aliasdmc.fr" target="_blank" id="idevement">
<input type="submit" value="envoyer" />
</form>
//at1.js
function action(event){
var event = event || window.event;
if (event.preventDefault) {
event.preventDefault();
}
event.returnValue = false;
}
var momoElement = document.getElementById("idevement");
momoElement.onsubmit = action;
Info
Dans ce cours javascript, nous allons nous pencher sur une autre manière d'assigner un événement en
javascript.
Nous allons utiliser le modèle d'événement du DOM 2.
Le modèle d'événement du DOM 2 utilise deux méthodes, addEventListener() et removeEventListener(),
qui permettent assigner ou d'enlever un gestionnaire d'événement à un objet javascript.
La méthode addEventListener()
Définition
La méthode attachEvent()
Définition
Comme nous le savons bien Internet Explorer ne fais pas comme tout le monde.
La méthode javascript addEventListener() n'est pas reconnue, il utilise
attachEvent(NomEvent,nomFonction).
Infos
Supprimer un événement
Définition
Pour Netscape (FireFox,Mozilla) vous devez utiliser la méthode javascript removeEventListener(), pour
Internet Explorer vous devez utiliser detachEvent().
Nous allons donc fusionner ces deux méthodes javascript dans une seule fonction.
Code javascript :
function supprimeEvent(objet, typeEvent, nomFunction, typePropagation){
if (objet.addEventListener) {
objet.removeEventListener(typeEvent, nomFunction, typePropagation);
} else if (objet.attachEvent) {
objet.detachEvent('on' + typeEvent, nomFunction);
}
}
removeEventListener()
Pour que l'action soit enlevée de l'événement, il faut que la valeur "typePropagation" soit la même.
objet.addEventListener('click', nomFunction, true);
Cela peut vous servir pour lancer plusieurs onload. Pour que les fonctions soient déclenchées dans l'ordre
d'assignation à l'événement, vous devez mettre la propriété "typePropagation" à true.
Infos
Lorsque vous utilisez l'assignation d'événement DOM 2, Internet Explorer l'événement se propage du bas vers
le haut c'est à dire du fils vers le parent.
Netscape (Firefox/Mozilla) respect la propagation du DOM dans les deux sens. Si "typePropagation" est
égale à true l'événement se propage du haut vers le bas c'est à dire du parent vers le fils. Si
"typePropagation" est égale à false, l'événement se propage du bas vers le haut c'est à dire du fils vers le
parent.
function ajouteEvent(objet, typeEvent, nomFunction, typePropagation){
if (objet.addEventListener) {
objet.addEventListener(typeEvent, nomFunction, typePropagation);
} else if (objet.attachEvent) {
objet.attachEvent('on' + typeEvent, nomFunction);
}
}
function action(event){
alert("action idevement");
}
var momoElement = document.getElementById("idevement");
ajouteEvent(momoElement,"click",action,false);
//IMG
//DIV
Les éléments de formulaire sont des objets javascript .Supposons le formulaire suivant :
<form name="general">
<input type="text" name="champ1" value="Valeur initiale">
</form>
Accéder au formulaire
Le formulaire est un élément de l'objet document. Pour accéder au formulaire general, il faut écrire :
document.forms["general"] ou document.forms[0] ou document.general.
forms est le tableau des formulaires de document. On peut accéder à un formulaire par son nom ou par son
indice (commençant à 0), via le tableau elements ou directement par son nom.
Accéder à un élément
Remarques :
1. Il est préférable d'utiliser le nom des éléments, plutôt que les indices : les noms sont indépendants de
l'organisation du formulaire.
2. Les tableaux forms et elements peuvent sembler inutiles dans les exemples ci-dessus. Observez
ce script pour vous convaincre du contraire :
var nom_du_champ="champ1";
document.forms[ "general "].elements[nom_du_champ].
Ici, on peut accéder à un élément de formulaire dont le nom est contenu dans une variable javascript.
Une fois que l'élément est atteint, il est possible de manipuler ces propriétés.
Par exemple, pour placer dans la zone de texte le mot "NOUVEAU", il faut juste écrire :
var input1=document.forms["general"].elements["champ1"]
input1.value="NOUVEAU";
Pour donner le focus au champ texte du haut de cette page, il faut appeler la méthode focus()sur cet
élément.
var input1=document.forms["general"].elements["champ1"]
input1.focus();
L'objet this
Il est fastidieux d'accéder aux éléments de formulaire par toute la chaîne document.forms.elements. Un
objet JavaScript this permet de raccourcir ce chemin d'accès.
this représente l'objet javascript en cours.
Donnez le focus à cette zone de texte, un message apparaît dans la barre de titre pour indiquer son nom.
Le message disparaît quand le champ perd le focus.
Voici le code source simplifié par this:
<form name="formfocus">
<input type="text" name="champtexte" value="contenu"
onFocus="document.title=this.value" onBlur="document.title=''">
</form>
<form name="form1">
Nom :<input type="text" name="nom" value="">
</form>
/* test.js */
var inp1=document.forms["form1"].elements["nom"];
inp1.value="Tapez votre nom";
Les boutons :
Un bouton sert principalement à déclencher une action javascript.Nous avons déjà vu comment dans le
paragraphe Intégrer du javascript dans un événement comment détecter le click sur un bouton.
La propriété value contient le libellé du bouton. Comme pour une zone de texte, ce libellé est accessible.
Exemple1 :
<form name="form1">
<input type="checkbox" name="majeur">Majeur
<input type="checkbox" name="etudiant">Etudiant
<input type="button" value="Tester"
onClick="alert('Majeur : '+document.form1.majeur.checked+'\nEtudiant : '+document.form1.etudiant.checked);">
</form>
Les radio-boutons
Imaginons ce sondage : Vous utilisez comme système d'exploitation :
Propriété Description
name Indique le nom du contrôle. Tous les boutons portent le même nom.
index L’index ou le rang du bouton radio en commençant par 0.
checked Indique l'état en cours de l'élément radio.
defaultchecked Indique l'état du bouton sélectionné par défaut.
value Indique la valeur de l'élément radio.
Exemple 1 :
Entrez votre choix :
<form name="form1">
<input type="radio" checked name="choix" value="1">Choix numéro 1<BR>
<input type="radio" name="choix" value="2">Choix numéro 2<BR>
<input type="radio" name="choix" value="3">Choix numéro 3<BR>
Exemple 2 :
Entrez votre choix :
<form name="form1">
<input type="radio" checked name="choix" value="1">Choix numéro 1<BR>
<input type="radio" name="choix" value="2">Choix numéro 2<BR>
<input type="radio" name="choix" value="3">Choix numéro 3<BR>
Propriété Description
name Indique le nom de la liste déroulante.
length Indique le nombre d'éléments de la liste. S'il est indiqué dans le tag <select>,
tous les éléments de la liste seront affichés. Si vous ne l'indiquez pas un seul
apparaîtra dans la boite de la liste déroulante.
selectedIndex Indique le rang à partir de 0 de l'élément de la liste qui a été sélectionné par
l'utilisateur.
defaultselected Indique l'élément de la liste sélectionné par défaut. C'est lui qui apparaît alors
dans la petite boite.
Exemple 1:
<form name="form1">
<select name="list">
<option value="1">Elément 1</option>
<option value="2">Elément 2</option>
<option value="3">Elément 3</option>
</select>
<INPUT type="button"name="b" value="Quel est l'élément retenu?" onClick="liste(form1)">
</form>
/* test.js*/
function liste(form1)
{ alert("L\'élément " + (form1.list.selectedIndex + 1)); }
Exemple 2:
L'objet textarea est une zone de texte de plusieurs lignes. La syntaxe Html est :
<form>
<textarea name="nom" rows=x cols=y>texte par défaut</textarea>
</form>
Propriété Description
name Indique le nom du contrôle par lequel on pourra accéder.
defaultvalue Indique la valeur par défaut qui sera affichée dans la zone de texte.
value Indique la valeur en cours de la zone de texte. Soit celle tapée par l'utilisateur ou
si celui-ci n'a rien tapé, la valeur par défaut.
function afficherarea(form1)
{
var testarea =document.form1.txta.value;
alert(testarea);
}
Le contrôle reset permet d'annuler les modifications apportées aux contrôles d'un formulaire et de restaurer
les valeurs par défaut.
La syntaxe Html est :
<form name="form1">
Nom : <input type="text"><br>
<input type="reset" name="nom" value= "Annuler">
</form>
où value donne le texte du bouton.
Une seule méthode est associée au contrôle reset, c'est la méthode onClick(). Ce qui peut servir, par
exemple, pour faire afficher une autre valeur que celle par défaut.
Le contrôle submit a la tâche spécifique de transmettre toutes les informations contenues dans le formulaire
à l'URL désignée dans l'attribut action du tag <form>.
la syntaxe Html est :
<form name="form1">
Nom : <input type="text"><br>
<input type="submit" name="nom" value="Envoyer">
<input type="reset" name="nom" value= "Annuler">
</form>
Une seule méthode est associée au contrôle submit, c'est la méthode onClick().
On va déclencher les contrôles de formulaire sur l’événement Click du bouton submit en appelant une
fonction de contrôle.
forms.action
Info
La propriété javascript action de l'objet document.forms permet de connaître ou de modifier la valeur de
l'attribut HTML action de la balise HTML form.
<body >
<form name="dmc" action="aliasdmc.php">
<input type="text" value="DMC" name="nom">
</form>
Info
La propriété javascript target de l'objet document.forms permet de connaître ou de modifier la valeur de
l'attribut HTML target de la balise HTML form.
<body >
<<form name="dmc" target="dmc">
</form>
<script src="at1.js"></script>
</body>
La propriété javascript target de l'objet document.forms accepte comme valeur :
- valeur de type String.
document.forms.dmc.target="_blank";
La propriété javascript target de l'objet document.forms renvoie comme valeur :
- valeur de type String.
alert(document.forms.dmc.target);
Formulaire text
Info
Nous allons étudier les propriétés Javascript de la balise HTML <input type="text">.
La balise HTML text est un champ texte d'une seule ligne.
input type=text
<body >
<<form name="dmc" target="dmc">
<input type="text" name="nom" value="dmc">
</form>
<script src="at1.js"></script>
</body>
Changer la value
Vous pouvez changer la value de l'attribut HTML "value" de la balise HTML input.
<form name="f">
<input type="text" name="dmc">
Bloquer le champ
Vous pouvez bloquer l'écriture dans la balise HTML input.
Par exemple :
dmc
<body >
<form name="f">
<input type="text" name="dmc" onfocus = "document.forms.f.dmc.blur()">
<br>essayez d'écrire dans le champ.</form>
<script src="at1.js"></script>
</body>
Récupérer la valeur
Vous pouvez récupérer la valeur de la balise HTML input.
Par exemple tapez un mot dans la première case :
Code :
<body >
<form name="f">
<input type="text" name="dmc" value="dmc"><input type="text" name="cmd" value="">
<a href="javascript:void(0)" onClick = "document.forms.f.cmd.value = document.forms.f.dmc.value">Cliquez pour
transferer</a>
</form>
<script src="at1.js"></script>
</body>
Les événements
onBlur : Quand on perd le focus de la balise HTML Input.
onChange : Quand on fait un changement dans la balise HTML Input (interprétée suivant le navigateur).
onFocus : Quand prend le focus de la balise HTML Input.
onSelect : Quand on sélectionne du texte dans la balise HTML Input (interprétée suivant le navigateur).
<input type="text" name="cmd" value="" onfocus="action()">
Les méthodes
Info
Imaginez que votre champ ne doit contenir que de chiffre (code postal).
Code :
<form name="e">
<input type="text" name="dmc" size="8">
<input type="button" name="bout" value="Tester" onClick="test()">
</form>
<script >
function test() {
var m=parseFloat(document.forms.e.dmc.value);
if (isNaN(m))
alert("C'est pas un chiffre.");
else
alert("C'est pas un chiffre.");
}
</script>
Test Mail
Info
Tester la validité d'un Email.
Code :
<form name="e">
</form>
<script >
var inp= document.forms.ee.dmc ;
function test()
{
if ( (inp.value !="") && (inp.value.indexOf("@") !="-1") && (inp.value.indexOf(".") !="-1"))
{
alert("Email semble valide");
}else {
alert("Email semble invalide");
}
}
</script>
Info
Dans ce cours de javascript, nous allons étudier les propriétés Javascript de la balise HTML et XHTML
<textarea>.
La balise HTML et XHTML textarea est champ texte multiligne.
La balise textarea HTML et XHTML fonctionne de la même façon que <input type="text">
Changer la valeur
Vous pouvez changer la valeur du contenu de la balise HTML:
Par exemple :
dmc
<form name="f">
<textarea name="dmc"></textarea>
<a href="#" onMouseOver = "document.forms.f.dmc.value='cmd'" onMouseOut = "document.forms.f.dmc.value =
'dmc'">Change</a>
</form>
Bloquer le champ
Vous pouvez bloquer la saisie dans la balise HTML et XHTML Texarea:
dmc
<form name="fff">
<textarea name="dmc">dmc</textarea>
<textarea name="cmd"></textarea>
<a href="javascript:void(0)" onClick = "document.forms.fff.cmd.value = document.forms.fff.dmc.value">Changer</a>
</form>
Les événements
Formulaire radio
Info
Dans ce cours javascript, nous allons étudier les propriétés javascript de la balise HTML <input
type="radio">
La balise HTML et XHTML radio va vous permettre de proposer un ensemble de choix avec une seule
possibilité de sélection.
Changer la valeur
<form name="rd">
<input type="radio" name="radio" value="radio">
</form>
Vous pouvez changer la valeur de l'attribut HTML "value" du bouton radio HTML.
<form name="r">
<input type="radio" name="dmc" value="radio">
<input type="radio" name="dmc" value="autre">
<a href = "javascript:alert(document.forms.r.dmc[0].value);"> valeur initiale </a>
<a href = "document.forms.r.dmc[0].value = 'cmd'; alert(document.forms.r.dmc[0].value)"> Change </a>
</form>
Sélectionner
Vous pouvez sélectionner le bouton Radio HTML .
Change
<form name="r">
<input type="checkbox" name="dmc">
<a href="#" onMouseOver = "document.forms.c.dmc.checked = true" onMouseOut = "document.forms.c.dmc.checked =
false">Change</a>
</form>
Les événements
Les méthodes
Exemple
</form>
//at1.js
function teste() {
var m=0;
for (i=0;i<6;i++) {
if (document.forms.ee.dmc[i].checked==true) {
m=i;
alert("C'est le choix "+Number(i+1)+" qui est sélectionné");
break;
}
}
}
Formulaire checkbox
Info
Nous allons étudier les propriétés Javascript de la balise HTML <input type="checkbox">.
La balise HTML checkbox est une case que l'on peut cocher ou décocher.
input type=checkbox
Changer la valeur
<form name="ee">
<input type="checkbox" name="checkbox" value="checkbox">
</form>
Vous pouvez changer la valeur de l'attribut HTML "value" de la case à cocher Chekbox.
Par exemple :
Sélectionner
Vous pouvez sélectionner un case à cocher Chekbox.
Par exemple :
<form name="c">
<input type="checkbox" name="dmc">
<a href="#" onMouseOver = "document.forms.c.dmc.checked= true" onMouseOut = "document.forms.c.dmc.checked =
false">Change</a>
</form>
Les événements
Les méthodes
blur() Enlève le focus sur la case à cocher Chekboxfocus() Met le focus sur la case à cocher Chekbox
click() Simule un clique sur la case à cocher Chekbox
handleEvent() Gestion des événements.
document.forms.formulaire.checkbox.click();
Exemple
Formulaire select
Info
Dans ce cours javascript, nous allons étudier les propriétés Javascript de la balise HTML <SELECT>.
La balise HTML select va vous permettre de créer une liste déroulante à sélection unique, soit à sélection
multiple.
Changer la value
Vous pouvez changer connaître ou modifier la value de l'attribut HTML "value" d'une option :
<form name="f">
<select name="dmc">
<option value="Choix 1" selected> Choix 1 </option>
<option value="Choix 2"> Choix 2 </option>
<option value="Choix 3"> Choix 3 </option>
</select>
<a href="#" onClick=" alert(document.forms.f.dmc.options[2].value) ">Avant</a>
<a href="#" onClick="document.forms.f.dmc.options[2].value ='cmd'; alert(document.forms.f.dmc.options[2].value)">Après</a>
</form>
Idem pour menus aux choix multiples.
<form name="f">
<select name="dmc">
option value="Choix 1" selected> Choix 1 </option>
option value="Choix 2"> Choix 2 </option>
option value="Choix 3"> Choix 3 </option>
</select>
<a href="#" onClick = "alert('Choix '+(( document.forms.ff.dmc. options.selectedIndex) + 1) );"> Voir l'option sélectionnée. </a>
</form>
Ajouter
<form name="f">
<select name="dmc">
option value="Choix 1" selected>Choix 1</option>
option value="Choix 2">Choix 2</option>
option value="Choix 3">Choix 3</option>
</select>
<a href="#" onClick=ajoute();">Voir l'option selectionnée.</a>
</form>
//at1.js
function ajoute(){
document.forms.f.dmc.options[document.forms.f.dmc.options.length] = new Option('dmc','cmd');
}
Supprimer
<form name="f">
<select name="dmc">
<option value="Choix 1" selected>Choix 1</option>
<option value="Choix 2">Choix 2</option>
<option value="Choix 3">Choix 3</option>
</select>
<form name="f">
<select name="dmc">
<option value="Choix 1" selected>Choix 1</option>
<option value="Choix 2">Choix 2</option>
<option value="Choix 3">Choix 3</option>
<option value="Choix 4">Choix 4</option>
<option value="Choix 5">Choix 5</option>
</select>
<a href="#" onClick=ajouteSup();">Supprimer l'option du menu.</a>
</form>
//at1.js
function ajouteSup(){
n=1; // index de l'option a supprimer
for (i = n; i < Number(document.forms.f.dmc.options.length-1); i++){
document.forms.ff.dmc.options[i] = new Option((document.forms.f.dmc.options[ Number(i+1) ].text
),(document.forms.f.dmc.options[ Number(i+1) ].value) );
}
document.forms.ff.dmc.options.length--;
}
Les événements
Les méthodes
<form name="f">
<select name="nom" multiple >
<option></option>
<option></option>
</select>
</form>
Formulaire button
Info
reset()
Info
Pour remettre à jour un formulaire via le javascript, il ne faut plus utiliser la balise HTML <input
type="reset"> mais la balise HTML <input type="button">.
A cette dernière nous lui associerons un événement, généralement un "onclick" avec la méthode reset().
<form name="f" >
<input type="button" onClick="document.forms.f.reset()">
</form>
<form name="f">
<input type="text" name="textfield">
<input type="button" onClick="document.forms.f.reset()">
</form>
submit()
Info
<form name="f">
<input type="submit">
</form>
Pour envoyer un formulaire via le javascript, il ne faut plus utiliser la balise HTML <input type="submit">
mais la balise HTML <input type="button">.
A cette dernière nous lui associerons un événement, généralement un "onclick" avec la méthode submit().
<form name="f">
<input type="button" onClick="document.forms.f.submit()">
</form>
<form name="f">
<input type="text" name="champ">
<input type="button" onClick="document.forms.f.submit()">
</form>
image
Info
ISTA HAY SALAM/ FORMATEUR : AHBOUZ Page 39
<form name="f">
<input type="image">
</form>
Pour renvoyer un formulaire via le javascript, il ne faut plus utiliser la balise HTML <input type="image">
mais une image avec un lien <a href="#">.
A ce dernier, nous lui associerons un événement, généralement un "onclick" avec la methode submit().
<form name="f">
<input type="text" name="champ">
</form>
<tr><td><label>sexe :</label></td><td>
<input type="radio" id="sexeM" name="sexe" value="M"/><label for="sexeM">M</label>
<input type="radio" id="sexeF" name="sexe" value="F"/><label for="sexeF">F</label></td></tr>
<tr><td><label>Langue Parlée:</label></td><td>
<input type="checkbox" id="fr" name="lp" value="fr"/><label for="fr">FR</label>
<input type="checkbox" id="ar" name="lp" value="ar"/><label for="ar">AR</label>
<input type="checkbox" id="eng" name="lp" value="eng"/><label for="eng">ENG</label>
</td> </tr>
var strLieu=frm.lieu.value;
//-3 : Le lieu de residence doit etre non vide
if(strLieu == "")
{
alert("Veuillez entrer votre lieu de résidence!");
frm.lieu.focus();
return false;
}
var strCourier=frm.courrier.value;
//-4 : L'adresse electronique doit etre non vide
}
/*exp.css*/
body
{
background-color: lightgrey;
}
FIN