Formulaire avec Javascript

Fermé
playboy-1990 Messages postés 458 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 10 septembre 2016 - 26 juil. 2010 à 19:14
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 13 août 2010 à 23:37
Bonjour,
Je voudrais savoir le code Javascript que je dois mettre pour que le javascript vérifie que l'internaute à mis plus de 4 caractère et non des espaces dans le champs text
avec un message si il indique moins de cratère et la validation du formulaire si il à indiquer plus de 4 ou plus de caractère

Merci

12 réponses

playboy-1990 Messages postés 458 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 10 septembre 2016 273
26 juil. 2010 à 20:06
Quelqu'un peux m'aidez ?
2
playboy-1990 Messages postés 458 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 10 septembre 2016 273
26 juil. 2010 à 22:41
Mille fois merci !!
Peux tu me dire ou tu à trouvé ce tutoriel car il est super !
1
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
26 juil. 2010 à 22:00
inspires toi de cet exemple
avec le onSubmit="return verif(.....

<script type="text/javascript">
function verif(id) 
{
	var Reg = new RegExp("^[0-9A-Za-z]{4,}$","g"); 
	/*regle de test:
	^ du début de la chaine
	$ à la fin
	[0-9A-Za-z] chiffres ou lettre majuscule ou minuscule
	{4,}  4 minimum	si tu mets 4,12  tu autorise de 4 à 12
	*/
	
	var saisie= document.getElementById(id).value; //on lit la saisie
	//test
		if(!Reg.test(saisie)) 
		{ 
			alert ("vous devez saisir au moins 4 caractères et sans espace !");
			return false; //return false empeche le form de partir
		}else{
			return true; //autorise l'envoi

	}		
	  
}
</script>

<form action="" method="post"name="form1" onSubmit="return verif('id_champ1');"> 	
	<input type="text" id="id_champ1" name="champ1" value=""  /><br /> 
	<input type="submit" name="envoyer" value="Envoyer" /> 
</form> 
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
26 juil. 2010 à 22:54
ce n'est pas un tuto, je t'ai fait cet exemple
0

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

Posez votre question
playboy-1990 Messages postés 458 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 10 septembre 2016 273
13 août 2010 à 18:38
Et maintenant si je met 2 champs comment je fais avec
onSubmit="return verif('id_champ1');

J'ai eassyé avec
 onSubmit="return verif('id_champ1'); && ('id_champ2');"> 	

Mais ça ne fonctionne pas
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
Modifié par Alain_42 le 13/08/2010 à 20:46
onSubmit="return verif('id_champ1'); && ('id_champ2');">

la c'est pas bon, il faut passer deux arguments séparés par une virgule, à la fonction javascript
onSubmit="return verif('id_champ1','id_champ2'); "> 


et bien sur modifier la fonction pour qu'elle reçoive ces deux arguments:
function verif(id1,id2) 
{
	var Reg = new RegExp("^[0-9A-Za-z]{4,}$","g"); 
	/*regle de test:
	^ du début de la chaine
	$ à la fin
	[0-9A-Za-z] chiffres ou lettre majuscule ou minuscule
	{4,}  4 minimum	si tu mets 4,12  tu autorise de 4 à 12
	*/
	
	var saisie1= document.getElementById(id1).value; //on lit la saisie du premier champ
	//test
		if(!Reg.test(saisie1)) 
		{ 
			alert ("vous devez saisir au moins 4 caractères et sans espace !");
			return false; //return false empeche le form de partir
		}

		var saisie2= document.getElementById(id2).value; //on lit la saisie du deuxieme champ	
		if(!Reg.test(saisie2)) 
		{ //mais la tu peux faire un autre type de test si tu veux en faisant une autre Reg
			alert ("vous devez saisir au moins 4 caractères et sans espace !");
			return false; //return false empeche le form de partir
			
		}
			
	//si on est arrivé la c'est que les deux champs sont ok donc on return true
	return true; //autorise l'envoi
	  
}

0
playboy-1990 Messages postés 458 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 10 septembre 2016 273
Modifié par playboy-1990 le 13/08/2010 à 23:14
Un grand merci
Mais j'ai un petit problème quand je mets mon pseudo (plus de quatre caractère et mon mot de passe (plus de quatre caractère il ne veut pas envoyer le formulaire et reste bloqué dans le champ de mot de passe

Voici le code au complet pour que vous pussiez voir le problème
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<script type="text/javascript">
function verif(id1,id2) 
{
	var Reg = new RegExp("^[0-9A-Za-z]{4,}$","g"); 
	/*regle de test:
	^ du début de la chaine
	$ à la fin
	[0-9A-Za-z] chiffres ou lettre majuscule ou minuscule
	{4,}  4 minimum	si tu mets 4,12  tu autorise de 4 à 12
	*/
	
	var saisie1= document.getElementById(id1).value; //on lit la saisie du premier champ
	//test
		if(!Reg.test(saisie1)) 
		{ 
			alert ("Veuillez indiquer un pseudo!");
			return false; //return false empeche le form de partir
		}

		var saisie2= document.getElementById(id2).value; //on lit la saisie du deuxieme champ	
		if(!Reg.test(saisie2)) 
		{ //mais la tu peux faire un autre type de test si tu veux en faisant une autre Reg
			alert ("Veuillez indiquer un mot de passe !");
			return false; //return false empeche le form de partir
			
		}
			
	//si on est arrivé la c'est que les deux champs sont ok donc on return true
	return true; //autorise l'envoi
	  
}

</script>
<form method="post" action="chat.php" onSubmit="return verif('id_champ1','id_champ2'); ">   
    <input name="pseudo" type="text" id="id_champ1" tabindex="1" value="Votre pseudo" onfocus="javascript:if(this.value == 'Votre pseudo') { this.value = ''; }" /> 
    <input name="passe" type="password" id="id_champ2" tabindex="2" value="******" onfocus="javascript:if(this.value == '******') { this.value = ''; }" />
<input type="submit" name="envoyer" value="Envoyer" /> 
</form> 
</body>
</html> 


Et encore une petit question
Dans mon formulaire je mes les deux champs avec un value
<form method="post" action="chat.php" onSubmit="return verif('id_champ1','id_champ2'); ">    
    <input name="pseudo" type="text" id="id_champ1" tabindex="1" value="Votre pseudo" onfocus="javascript:if(this.value == 'Votre pseudo') { this.value = ''; }" />  
    <input name="passe" type="password" id="id_champ2" tabindex="2" value="******" onfocus="javascript:if(this.value == '******') { this.value = ''; }" />


Je voudrais savoir comment je peux faire pour interdire que l'internaute laisse les champs par défaut (Votre pseudo et *****)

Merci
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
13 août 2010 à 23:04
tu rajoutes un autre test pour chacun des champs

if(!Reg.test(saisie1)) 
		{ 
			alert ("vous devez saisir au moins 4 caractères et sans espace !");
			return false; //return false empeche le form de partir
		}
//tu rajoutes ça pour le premier
	if(saisie1=="Votre pseudo") 
		{ 
			alert ("vous devez saisir votre pseudo!");
			return false; //return false empeche le form de partir
		}

et même principe pour l'autre
0
playboy-1990 Messages postés 458 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 10 septembre 2016 273
Modifié par playboy-1990 le 13/08/2010 à 23:18
Merci
P.S j'ai modifier mon message car j'ai une petit erreur
Voir message précédant
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
13 août 2010 à 23:21
quel message, quelle erreur ?
0
playboy-1990 Messages postés 458 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 10 septembre 2016 273
13 août 2010 à 23:26
j'ai un petit problème quand je mets mon pseudo (plus de quatre caractère) et mon mot de passe (plus de quatre caractère) il ne veut pas envoyer le formulaire et reste bloqué dans le champ de mot de passe

Il indique toujours "Veuillez indiquer un mot de passe !"

Voici le code au complet pour que vous pussiez voir le problème
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<script type="text/javascript">
function verif(id1,id2)
{
var Reg = new RegExp("^[0-9A-Za-z]{4,}$","g");
/*regle de test:
^ du début de la chaine
$ à la fin
[0-9A-Za-z] chiffres ou lettre majuscule ou minuscule
{4,} 4 minimum si tu mets 4,12 tu autorise de 4 à 12
*/

var saisie1= document.getElementById(id1).value; //on lit la saisie du premier champ
//test
if(!Reg.test(saisie1))
{
alert ("Veuillez indiquer un pseudo!");
return false; //return false empeche le form de partir
}

var saisie2= document.getElementById(id2).value; //on lit la saisie du deuxieme champ
if(!Reg.test(saisie2))
{ //mais la tu peux faire un autre type de test si tu veux en faisant une autre Reg
alert ("Veuillez indiquer un mot de passe !");
return false; //return false empeche le form de partir

}

//si on est arrivé la c'est que les deux champs sont ok donc on return true
return true; //autorise l'envoi

}

</script>
<form method="post" action="chat.php" onSubmit="return verif('id_champ1','id_champ2'); ">
<input name="pseudo" type="text" id="id_champ1" tabindex="1" value="Votre pseudo" onfocus="javascript:if(this.value == 'Votre pseudo') { this.value = ''; }" />
<input name="passe" type="password" id="id_champ2" tabindex="2" value="******" onfocus="javascript:if(this.value == '******') { this.value = ''; }" />
<input type="submit" name="envoyer" value="Envoyer" />
</form>
</body>
</html>

A essayer
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
13 août 2010 à 23:37
<script type="text/javascript">
function verif(id1,id2)
{
var Reg = new RegExp("^[0-9A-Za-z]{4,}$","g");
/*regle de test:
^ du début de la chaine
$ à la fin
[0-9A-Za-z] chiffres ou lettre majuscule ou minuscule
{4,} 4 minimum si tu mets 4,12 tu autorise de 4 à 12
*/

var saisie1= document.getElementById(id1).value; //on lit la saisie du premier champ
//test
if(!Reg.test(saisie1))
{
alert ("Veuillez indiquer un pseudo!");
return false; //return false empeche le form de partir
}
//apparement il faut refaire la new RegExp après usage
var Reg = new RegExp("^[0-9A-Za-z]{4,}$","g");
var saisie2= document.getElementById(id2).value; //on lit la saisie du deuxieme champ
alert("Saisie2:"+saisie2);
if(!Reg.test(saisie2))
{ //mais la tu peux faire un autre type de test si tu veux en faisant une autre Reg
alert ("Veuillez indiquer un mot de passe !");
return false; //return false empeche le form de partir

}

//si on est arrivé la c'est que les deux champs sont ok donc on return true
return true; //autorise l'envoi

}
0