| |
Exemple de formulaire:
Le formulaire en HTML:
Faisons bien attention à mettre un nom à chaque input
du formulaire:
A joutons ensuite une action lorsqu'on clique sur le bouton 'Submit' :
onSubmit="return verif_formulaire()
<body>
<form name="form1" method="post" action=""
onSubmit="return verif_formulaire()">
Nom: <input name="nom" type="text">
Prénom: <input name="prenom" type="text">
E-mail: <input name="email" type="text">
<input type="submit" name="Submit">
</form>
</body>
Je n'ai volontairement pas mis d'action sur le formulaire puisque
ce n'est pas le sujet du tutoriel.
Plaçons enfin l'action que javascript aura à exécuter
lorsque nous cliquerons sur le bouton 'Submit'
Ce script doit être placé entre les balises <head></head>
<script type="text/javascript">
<!--
function verif_formulaire()
{
if(document.form1.nom.value == "") {
alert("Veuillez entrer votre nom!");
document.form1.nom.focus();
return false;
}
if(document.form1.prenom.value == "") {
alert("Veuillez entrer votre prénom!");
document.form1.prenom.focus();
return false;
}
if(document.form1.email.value == "") {
alert("Veuillez entrer votre adresse E-mail!");
document.form1.email.focus();
return false;
}
if(document.form1.email.value.indexOf('@') == -1) {
alert("Veuillez entrer une adresse email correcte!");
document.form1.email.focus();
return false;
}
}
//-->
</script>
Explications:
Ma fonction s'appelle 'verif_formulaire'
function verif_formulaire()
Mon formulaire s'appelle 'form1' comme je l'ai nommé dans sa
balise html
Je met comme condition au submit du formulaire que nom, prenom et email
ne soit pas vide: value==""
if(document.form1.prenom.value == "") {
ou je met comme condition au submit du formulaire que le champs email
contienne un '@'
if(document.form1.email.value.indexOf('@') == -1) {
Si il est vide, javascript déclenche une alerte contenant le texte
que j'ai choisi
alert("Veuillez entrer votre prénom!");
Le curseur de la souris se remet dans le champs du formulaire vide
document.form1.email.focus();
J'empêche le submit puisque les conditions ne sont pas remplies
return false;
|
|