begin process at 2010 03 21 23:40:59
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Formulaire

 > VÉRIFICATION CHAMP TEXT D'UN FORMULAIRE NON VIDE --> PETITE FONCTION À UTILISATION FACILE

VÉRIFICATION CHAMP TEXT D'UN FORMULAIRE NON VIDE --> PETITE FONCTION À UTILISATION FACILE


 Information sur la source

Note :
6 / 10 - par 3 personnes
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Formulaire Niveau :Débutant Date de création :27/07/2005 Vu :10 472

Auteur : GossBuster

Ecrire un message privé
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 Description

P'tite fonction facile à utiliser, permettant de vérifier si les champs de type 'text' d'un formulaire sont non-vides.

Message d'erreur dans une seule fenêtre indiquant les champs obligatoires qui n'ont pas été remplis par l'utilisateur.

Source

  • //CODE JAVASCRIPT
  • <script language="javascript" type=text/javascript>
  • <!--
  • /*
  • ########################################################################################
  • # Cree le 27/07/2005 par gossbuster
  • # Exemple d'appel de cette fonction:
  • # verifNonVide('nom du formulaire',['name balise input du champ1', 'nom affichage champ1', 'name balise input du champ2', 'nom
  • # affichage champ2', etc...]);
  • ########################################################################################
  • */
  • function verifNonVide(formulaire,champs) {
  • var mess_ini = "Veuillez remplir les champs suivants:\n";
  • var mess = mess_ini ;
  • for(var i=0; i < champs.length; i=i+2) {
  • if ( eval('document.'+formulaire+'.'+champs[i]+'.value.length') < 1 ) {
  • mess += " - " ;
  • mess += champs[i+1];
  • mess += "\n" ;
  • }
  • }
  • if ( mess.length != mess_ini.length ) {
  • window.alert(mess);
  • }
  • else {
  • eval('document.'+formulaire+'.submit()');
  • }
  • }
  • //-->
  • </script>
  • //CODE HTML
  • <form method="GET" action="index" name="inscription">
  • Votre nom :<input type="text" name="n1" size="20" style="text-transform: uppercase;">
  • Votre prénom :<input type="text" name="n2" size="20" style="text-transform: lowercase;">
  • <input type="button" value="Valider" onClick="verifNonVide('inscription',['n1', 'nom', 'n2', 'prénom']);" name="valide">
  • </form>
//CODE JAVASCRIPT
<script language="javascript" type=text/javascript>
<!--
/*
########################################################################################
# Cree le 27/07/2005 par gossbuster
# Exemple d'appel de cette fonction: 
# verifNonVide('nom du formulaire',['name balise input du champ1', 'nom affichage champ1', 'name balise input du champ2', 'nom
# affichage champ2', etc...]);
########################################################################################
*/
function verifNonVide(formulaire,champs) {

	var mess_ini = "Veuillez remplir les champs suivants:\n";
	var mess = mess_ini ;
	for(var i=0; i < champs.length; i=i+2) {
		if ( eval('document.'+formulaire+'.'+champs[i]+'.value.length') < 1 ) {
			mess += " - " ;
			mess += champs[i+1];
			mess += "\n" ;
		}
	}
	
	if ( mess.length != mess_ini.length ) {
		window.alert(mess);
	}
	else {
		eval('document.'+formulaire+'.submit()');
	}
}

//-->
</script>


//CODE HTML
<form method="GET" action="index" name="inscription">
Votre nom :<input type="text" name="n1" size="20" style="text-transform: uppercase;">
Votre prénom :<input type="text" name="n2" size="20" style="text-transform: lowercase;">
<input type="button" value="Valider" onClick="verifNonVide('inscription',['n1', 'nom', 'n2', 'prénom']);" name="valide">
</form>

 Conclusion

Ma fonction elle est toute simple, mais...c'est ma première fonction javascript et mon premier post ici, donc allez-y mollo.

J'ai un peu cherché l'équivalent de cette fonction, mais j'ai pas trouvé...pour ceux à qui ça sert.

Testé et fonctionnant sous mozilla 1.0.4, IE 6.0 et Konqueror 3.3.2.


 Sources de la même categorie

DÉSACTIVER UN BOUTON SUBMIT APRÈS ENVOI DU FORMULAIRE par SoftDeath
IMPLEMENTATION DE RANDOM PERSONNALISÉ par ousous
IMPLEMENTATION DE HASHTABLE par ousous
JAVASCRIPT.UTIL.ITERATOR par ousous
Source avec Zip Source avec une capture PALETTE DE COULEURS par titnome

Commentaires et avis

Commentaire de jfperras le 27/07/2005 14:44:29

Rien de nouveau

8/10 pour l'effort

Commentaire de bultez le 27/07/2005 14:56:23

quand même pas mal,
permet d'avoir un exemple pour passer un nombre de
paramètres variables ( entr'autres ).
quelques remarques ?
_ onsubmit plutôt que onclick
_ éviter les eval
_ test si vide pas "suffisant" pour un vrai contrôle

<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<script type="text/javascript"> <!--
/*
########################################################################################
# Cree le 27/07/2005 par gossbuster
# Exemple d'appel de cette fonction:
# verifNonVide('nom du formulaire',['name balise input du champ1', 'nom affichage champ1', 'name balise input du champ2', 'nom
# affichage champ2', etc...]);
########################################################################################
*/
function verifNonVide(formulaire,champs) {
    var mess_ini = "Veuillez remplir les champs suivants:\n";
    var mess = mess_ini ;
    for (var i=0; i < (champs.length-1); i=i+2) {
        if ( champs[i].value.length < 1 ) {
mess += " - " +
champs[i+1] +
"\r\n" ;         }     }
    if ( mess.length != mess_ini.length ) {
window.alert(mess);
return false;    }
    else { return true;    } }
//--> </script>
//CODE HTML
<form method="GET" action="index"
onsubmit="return(verifNonVide('inscription',[n1, 'nom', m2, 'prénom']));"
name="inscription">
Votre nom :<input type="text"
name="n1" size="20" style="text-transform: uppercase;">
Votre prénom :<input type="text" name="m2"
size="20" style="text-transform: lowercase;">
<input type="submit" value="Valider"
name="valide">
</form>
</BODY></HTML>
@+

Commentaire de jfperras le 27/07/2005 15:00:03

Bultez,

Pour mon information personnel, pourquoi évitez les "eval" ?

Commentaire de bultez le 27/07/2005 15:11:13

lourds, gourmands, peu lisibles ...
et "j'aime pas"
entre 1° eval('document.'+formulaire+'.'+champs[i]+'.value.length')
et    2° champs[i].value.length
je préfère 2.

Commentaire de jfperras le 27/07/2005 15:15:25

Ok merci Bultez!

Commentaire de bultez le 27/07/2005 15:29:35

ce n'est qu'un avis,
comme c'est le mien, je le respecte,
mais il ne vaut pas grand chose...

Commentaire de jfperras le 27/07/2005 15:32:09

Dans ce cas-ci, je trouves que ton avis vaut pour beaucoup.

Commentaire de GossBuster le 27/07/2005 16:36:06

Merci pour vos commentaires.

Heu Bultez peux tu développer "le test si vide pas "suffisant" pour un vrai contrôle"???
--> Vaut - il mieux un 'champs[i].value==""' pour tester si c'est vide???

@+

Commentaire de bultez le 27/07/2005 16:55:24

je ne voulais pas dire ça,
d'ailleurs je trouve zone.value.length<1 ou ==0
"beaucoup mieux" que zone.value=="" ( mais
chacun ses goûts et les vaches seront bien
gardées ).
si par exemple on a comme champ un code postal,
une adresse mail... le contenu aussi est à
contrôler ( numérique, valide ... )
j'ai mis sur ce site un "contrôle automatique
des champs d'un formulaire" qui fait ça.  @+

Commentaire de darkman2 le 08/08/2005 09:00:17

moi aussi meme avos que jfperras
8/10

Commentaire de ifyoyo le 01/12/2005 15:25:10

merci bcp c'est un code bien fait bravo pour toi


yoyo

Commentaire de aissa6 le 03/03/2006 14:39:59

Merci encore pour ton code ;)

Commentaire de spyro666 le 27/08/2007 09:28:14

Le script présente un problème lorsqu'on presse Entrer dans un champ texte, à ce moment là le formulaire se postera comme si il y avait un submit standard et le test ne s'effectue pas.

Commentaire de GeniPC le 23/07/2009 18:28:40

merci mais j veux pour la table suivant nom* prénom* fonction société tél* e-mail* demande message *  
*  champs obligatoire
et merci bcp  

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales