Javascript Control des champs
                                    
                        lala                    
                                    -
                                     
Utilisateur anonyme -
        Utilisateur anonyme -
        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>
            
            
                
            
                
    
    
    
        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:         
- Javascript Control des champs
- Fan control - Télécharger - Optimisation
- Adb app control - Guide
- Control center 4 - Télécharger - Divers Utilitaires
- Copytrans control center - Télécharger - Divers Utilitaires
- Catalyst control center - Télécharger - Pilotes & Matériel
3 réponses
                        
                    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()
    
                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> 
                
                
                        
                    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
    
                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
                        
                    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> 
                
                