Vérifier la valeur d'un bouton de type 'submit'

Résolu
jdeheyn Messages postés 23 Date d'inscription vendredi 14 avril 2006 Statut Membre Dernière intervention 14 janvier 2010 - 11 janv. 2010 à 00:46
jdeheyn Messages postés 23 Date d'inscription vendredi 14 avril 2006 Statut Membre Dernière intervention 14 janvier 2010 - 14 janv. 2010 à 01:50
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

Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
12 janv. 2010 à 09:42
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]
3
jdeheyn Messages postés 23 Date d'inscription vendredi 14 avril 2006 Statut Membre Dernière intervention 14 janvier 2010
11 janv. 2010 à 01:13
Oups ... je ne suis pas sur que cette section CSS était la bonne pour ce message.
C'est plus du JavaScript.
0
Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
11 janv. 2010 à 15:17
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]
0
jdeheyn Messages postés 23 Date d'inscription vendredi 14 avril 2006 Statut Membre Dernière intervention 14 janvier 2010
12 janv. 2010 à 00:44
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 ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jdeheyn Messages postés 23 Date d'inscription vendredi 14 avril 2006 Statut Membre Dernière intervention 14 janvier 2010
14 janv. 2010 à 01:50
Merci Zobibol, ça marche nickel !
0