"Comment peut-on faire en javascript
pour demander une confirmation (si un champ n'est pas coché)
à un visiteur avant l'envoi d'un formulaire ?"
Un
problème, une interrogation ? Adressez-vous à la rédaction
de JDNet Développeurs
Formalisons : nous avons besoin d'une
routine qui, si l'utilisateur valide le formulaire sans avoir rempli
tous les champs, lui demande s'il souhaite vraiment envoyer des
informations incomplètes. S'il confirme, nous envoyons le
formulaire, sinon, nous lui rendons la main...
Nous avons deux possibilités
pour afficher cette requête : soit nous ouvrons une nouvelle
fenêtre contenant un formulaire HTML avec deux boutons ("Confirmer"
et "Retour au formulaire", par exemple), soit nous choisissons
d'utiliser la fonction JavaScript confirm().
L'évènement à utiliser peut-être onSubmit()
ou onClick().
Nous avons choisis ici de passer par confirm()
et onSubmit().
Ce code devrait être facilement adaptable à d'autres
situations (cases à cocher, menu déroulant...).
Le code
<html>
<head>
<script>
function confirmSubmit()
{
var
manquant = false;
for
(var i = 0; i < document.formulaire.elements.length; i++)
{
if
( (document.formulaire.elements[i].type == 'text') && (document.formulaire.elements[i].value
== '') )
{
manquant
= true;
}
}
if
(manquant)
{
choix
= confirm("oui ou non?");
if
(choix == true)
{
document.formulaire.submit();
}
else
{
return
false;
}
}
}
</script>
</head>
<body>
<form
name="formulaire" method="get" action="bidule.php" onSubmit="return
confirmSubmit();">
Nom :
<input type="text" name="nom"><br>
Prénom :
<input type="text" name="prenom"><br>
Âge :
<input type="text" name="age"><br>
<input type="submit" name="Submit" value="Envoyer">
</form>
</body>
</html>
|