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

Messages postés
23
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
14 janvier 2010
- - Dernière réponse : 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);
}
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
4
3
Merci
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]

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 217 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Zobibol
Messages postés
23
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
14 janvier 2010
0
Merci
Oups ... je ne suis pas sur que cette section CSS était la bonne pour ce message.
C'est plus du JavaScript.
Commenter la réponse de jdeheyn
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
4
0
Merci
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]
Commenter la réponse de Zobibol
Messages postés
23
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
14 janvier 2010
0
Merci
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 ...
Commenter la réponse de jdeheyn
Messages postés
23
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
14 janvier 2010
0
Merci
Merci Zobibol, ça marche nickel !
Commenter la réponse de jdeheyn