Vérifier la valeur d'un bouton de type 'submit' [Résolu]

Signaler
Messages postés
23
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
14 janvier 2010
-
Messages postés
23
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
14 janvier 2010
-
Bonjour,
Je souhaite mettre en place un formulaire, avec une partie JavaScript permettant de vérifier si l'internaute a bien renseigné un minimum d'informations.
Voici le code que j'ai pondu :

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Page de test</TITLE>
<script language="javascript">

function form_Validator_Ajouter(form)
{
 if (form.nom.value == "")
  {
    alert("Veuillez renseigner votre nom.");
    form.nom.focus();
    return (false);
  }
  return (true);
}

//-->
</script>
</HEAD>


<FORM ACTION="test.htm" METHOD="POST" onSubmit="return form_Validator_Ajouter(this)">
Nom : 

Adresse : 

 
</FORM>


</HTML>


Si je ne renseigne pas le champ 'nom' et que je clique sur 'Enregistrer', j'ai bien un avertissement que je dois renseigner le champ 'nom'.
Mais si je clique sur 'Annuler' j'ai aussi l'avertissement.
Comment faire dans ma fonction 'form_Validator_Ajouter' pour tester la valeur du bouton sur lequel on vient de cliquer ?

J'ai bien essayé la solution suivante, mais ça ne fonctionne pas :
function form_Validator_Ajouter(form)
{
 if (form.nom.value "" && form.action.value "Enregistrer")
  {
    alert("Veuillez renseigner votre nom.");
    form.nom.focus();
    return (false);
  }
  return (true);
}

5 réponses

Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
4
Ha, merci pour ces précisions, je propose une nouvelle solution (sans reset):
<html>
<head>
<script>
function form_Validator_Ajouter(formId, _action)
{
var form = document.getElementById(formId);
if ( _action =="ok"){
 if (form.nom.value == "")
  {
alert("Veuillez renseigner votre nom.");
form.nom.focus();
return (false);
  }
  return (true);
}
else{
alert ("vous n'avez pas valider le formulaire alors ???");
return false;
}
}

</script>
</head>

<form action="./test.html" METHOD="POST" id="myForm">
Nom : 

Adresse : 



</form>

</html>


j'ai pas réussi à passer le formulaire sans son id (enfin, si mais l'identifiant devrait et est si je ne m'abuse obligatoire).

à adapter.

[o-_-o]
Messages postés
23
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
14 janvier 2010

Oups ... je ne suis pas sur que cette section CSS était la bonne pour ce message.
C'est plus du JavaScript.
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
4
bien le bonjour, c'est une toute petite erreur, il y a deux fois un bouton de type submit sur le formulaire...
un bouton de type reset serait plus approprié pour faire une annulation non ?
de cette manière il ne passera pas par la soumission du formulaire.

</HEAD>


<FORM ACTION="test.htm" METHOD="POST" onSubmit="return form_Validator_Ajouter(this)">
Nom : 

Adresse : 

 
</FORM>


</HTML>


[o-_-o]
Messages postés
23
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
14 janvier 2010

Bonjour Zobibol,
Merci pour ta réponse. En fait l'utilisation de deux boutons 'submit' est tout à fait voulu. C'est en fait une petite subtilité : si j'utilise un bouton de type 'reset' et que je clique dessus, il va me vider les champs de mon formulaire pour remettre leurs valeurs comme au chargement de la page, mais je reste sur la page de mon formulaire.
Ici mon bouton 'Annuler' me permet d'aller à la page 'test.htm' (qui est en fait un script PHP) qui va alors tester la valeur de la variable 'action'. Si cette variable vaut 'Enregitrer' je fais un truc (enregistrer les valeurs dans une base de données), et si elle vaut 'Annuler' je fais un autre truc (afficher le message 'Opération annulée').

Je ne vois pas cette syntaxe souvent utilisée, mais personnellement je la trouve bien pratique.
Bon, sauf que là pour faire des contrôles JavaScript je bloque. Mais je pense que ça devrait être possible. On arrive bien à tester la valeur d'un champ texte, pourquoi pas la valeur retournée par un bouton ...
Messages postés
23
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
14 janvier 2010

Merci Zobibol, ça marche nickel !