Javascript Control des champs

Fermé
lala - 10 mai 2011 à 10:43
 Utilisateur anonyme - 10 mai 2011 à 11:09
Bonjour,
aux spécialistes des formulaires et javascript,
J'ai fait un formulaire avec 2 champs obligatoires
mais vérification ne marche pas

<html>
<head>
<script language="javascript" type="text/javascript">

function verif()
{
var nom = document.formulaire.nom.value;
if (document.formulaire.nom.value == "")
{
alert ('Veuillez entrer votre nom');
document.formulaire.nom.focus();
return false;
}
if(document.formulaire.prenom.value == "")
{
alert ('Veuillez entrer votre prénom');
document.formulaire.prenom.focus();
return false;}
else {return true;}
}
//-->

</script></head>
<BODY>
<FORM METHOD="POST" ACTION="/cgibin/
questionnaire.cmd?xxx">
<h4><CENTER>Essai Formulaire
</CENTER></H4>
<pre><b>
<LI>nom: <input type="text"
name="nom" size=30>
<LI>prenom: <input type="text"
name="prenom" size=30>

</BODY>
<input type="submit"
value="Soumettre"> <input
type="reset" value="Effacer et
recommencer"><P>
</form><p>
</HTML>
A voir également:

3 réponses

Utilisateur anonyme
10 mai 2011 à 10:56
Bonjour,

Vous n'appellez jamais la fonction verif(), donc la vérification ne risque pas de se lancer.

Voici un code corrigé:
- donnez un name='formulaire' à votre formulaire
- remplacer le bouton submit par un button simple
- ajoutez un évènement onClick sur ce bouton qui appel verif()
- si verif est à true, dans ce cas postez le formulaire document.formulaire.submit()

<html>
<head>
<script language="javascript" type="text/javascript">

function verif()
{
var nom = document.formulaire.nom.value;
if (document.formulaire.nom.value == "")
{
alert ('Veuillez entrer votre nom');
document.formulaire.nom.focus();
return false;
}
if(document.formulaire.prenom.value == "")
{
alert ('Veuillez entrer votre prénom');
document.formulaire.prenom.focus();
return false;}
return true;
}
//-->

</script></head>
<BODY>
<FORM METHOD="POST" ACTION="/cgibin/
questionnaire.cmd?xxx" name="formulaire">
<h4><CENTER>Essai Formulaire
</CENTER></H4>
<pre><b>
<LI>nom: <input type="text"
name="nom" size=30>
<LI>prenom: <input type="text"
name="prenom" size=30>

</BODY>
<input type="button"
value="Soumettre" onClick="if (verif()) {document.formulaire.submit()}"> <input
type="reset" value="Effacer et
recommencer"><P>
</form><p>
</HTML> 
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié par Reivax962 le 10/05/2011 à 11:00
Bonjour,

Dans ton javascript, tu appelles tes champs comme ceci :
document.formulaire.nom

Ce qui sous-entend que tu as appelé ton <form> « formulaire ».
Or dans la définition de ton <form>, on ne le voit pas :
<FORM METHOD="POST" ACTION="/cgibin/questionnaire.cmd?xxx">

Il faut donc rajouter name="formulaire" (ou id="formulaire", je ne sais plus lequel des deux... je te laisse tester)

Un autre problème : ta balise </body> est fermée avant tes </form> et <input type="submit">... Et tu as des <p>, des <li> et des <b> qui ne sont pas fermés !

Xavier
0
Utilisateur anonyme
10 mai 2011 à 11:09
Effectivement c'est plus propre ainsi :

<html>
<head>
<script language="javascript" type="text/javascript">

function verif()
{
var nom = document.formulaire.nom.value;
if (document.formulaire.nom.value == "")
{
alert ('Veuillez entrer votre nom');
document.formulaire.nom.focus();
return false;
}
if(document.formulaire.prenom.value == "")
{
alert ('Veuillez entrer votre prénom');
document.formulaire.prenom.focus();
return false;}
return true;
}
//-->

</script></head>
<BODY>
<form METHOD="POST" ACTION="/cgibin/questionnaire.cmd?xxx" name="formulaire">
<h4><CENTER>Essai Formulaire</CENTER></H4>
<LI>nom: <input type="text" name="nom" size=30></LI>
<LI>prenom: <input type="text" name="prenom" size=30></LI>
<input type="button"
value="Soumettre" onClick="if (verif()) {document.formulaire.submit()}"> <input
type="reset" value="Effacer et
recommencer">
</form>
</BODY>
</HTML> 

0