begin process at 2012 05 29 08:48:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Fusionner 2 JavaScript


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fusionner 2 JavaScript

jeudi 21 janvier 2010 à 20:59:43 | Fusionner 2 JavaScript

JypX

Bonjour,

J'ai tenté de fusionner 2 JS, en vain :
- vérifie si le pseudo existe
- vérifie si les champs sont bien remplis

Le problème c'est qu'il averti l'utilisateur que le pseudo existe mais ne bloque pas la validation du formulaire

Code Javascript :
// 1ème script
function writediv(texte)
{
document.getElementById('pseudobox').innerHTML = texte;
}

function verifPseudoDB(pseudo)
{
if(pseudo != '')
{
if(pseudo.length<3)
writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop court</span>');
else if(pseudo.length>10)
writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop long</span>');
else if(texte = file('verifpseudo.php?login='+escape(pseudo)))
{
if(texte == 1)
writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est deja pris</span>');
else if(texte == 2)
writediv('<span style="color:#1A7917"><b>'+pseudo+' :</b> ce pseudo est libre</span>');
else
writediv(texte);
}
}
}
function file(fichier)
{
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
}
// 2ème script
function verifPseudo(champ)
{
   if(champ.value.length < 3 || champ.value.length > 10)
   {
      surligne(champ, true);
      return false;
   }
   else
   {
      surligne(champ, false);
      return true;
   }
}
function verifMail(champ)
{
   var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
   if(!regex.test(champ.value))
   {
      surligne(champ, true);
      return false;
   }
   else
   {
      surligne(champ, false);
      return true;
   }
}
function verifMdP(champ)
{
   if(champ.value.length < 6 || champ.value.length > 10)
   {
      surligne(champ, true);
      return false;
   }
   else
   {
      surligne(champ, false);
      return true;
   }
}
function verifForm(f)
{
   var pseudoOk = verifPseudo(f.pseudo);
   var mailOk = verifMail(f.email);
   var MdPOk = verifMdP(f.pass);
   
   if(pseudoOk && mailOk && MdPOk)
      return true;
   else
   {
      alert("Veuillez remplir correctement tous les champs");
      return false;
   }
}
function surligne(champ, erreur)
{
   if(erreur)
      champ.style.backgroundColor = "#fba";
   else
      champ.style.backgroundColor = "";
}
jeudi 21 janvier 2010 à 21:06:39 | Re : Fusionner 2 JavaScript

PetoleTeam

Membre Club
Bonjour,
ta fonction verifPseudoDB devrait renvoyer false/true pour la suite des autres vérif, et cela ne semble pas le cas dans ce que l'on voit ici...
;O)
jeudi 21 janvier 2010 à 21:10:32 | Re : Fusionner 2 JavaScript

JypX

J'avais testé en rajoutant un "truc" pour renvoyer false/true mais interférait avec cette fonction du 1er script :
Code Javascript :
function file(fichier)
{
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);[code=php][code=js]
[/code]
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
}[/code]

vendredi 22 janvier 2010 à 19:03:25 | Re : Fusionner 2 JavaScript

PetoleTeam

Membre Club
Bonjour,
je dirais à première vue que
Code Javascript :
if(texte == 1){
  writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est deja pris</span>');
  return( false);
}
else if(texte == 2)
// et la suite....

mais loin d'être sur, il faudrait voir comment tu appelles la fonction et laquelle...
;O)
dimanche 24 janvier 2010 à 16:45:17 | Re : Fusionner 2 JavaScript

sitajony

Sa pourait venir de ta form, soit tu l'a placé en onsubmit ou soit sur le boutton submit...
Il y'a deux solution pour que cela fonctionne:
Le placer dans onsubmit et faire dans le script un return false pour bloquer l'envoie si il y'a un problème ou à la place du boutton submit placer un boutton simple et de mettre en attribut "onclick" la fonction qui vérifie, si tout est ok faire un form.submit()...
Aussi:
return( false); peut être remplacé par
return false;
c'est plus jolie lol enfin c'est mon avis...
dimanche 24 janvier 2010 à 17:14:01 | Re : Fusionner 2 JavaScript

JypX

Mon code de test complet
Code PHP :
<?
if (isset($_POST['Submit'])) {
	echo "test";
}
?>
<html>

<head>

<title>Inscription</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
// 1ème script
function writediv(texte)
{
document.getElementById('pseudobox').innerHTML = texte;
}

function verifPseudoDB(pseudo)
{
if(pseudo != '')
{
if(pseudo.length<3)
writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop court</span>');
else if(pseudo.length>10)
writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop long</span>');
else if(texte = file('verifpseudo.php?login='+escape(pseudo)))
{
if(texte == 1)
writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est deja pris</span>');
else if(texte == 2)
writediv('<span style="color:#1A7917"><b>'+pseudo+' :</b> ce pseudo est libre</span>');
else
writediv(texte);
}
}
}
function file(fichier)
{
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
}
// 2ème script
function verifPseudo(champ)
{
   if(champ.value.length < 3 || champ.value.length > 10)
   {
      surligne(champ, true);
      return false;
   }
   else
   {
      surligne(champ, false);
      return true;
   }
}
function verifMail(champ)
{
   var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
   if(!regex.test(champ.value))
   {
      surligne(champ, true);
      return false;
   }
   else
   {
      surligne(champ, false);
      return true;
   }
}
function verifMdP(champ)
{
   if(champ.value.length < 6 || champ.value.length > 10)
   {
      surligne(champ, true);
      return false;
   }
   else
   {
      surligne(champ, false);
      return true;
   }
}
function verifForm(f)
{
   var pseudoOk = verifPseudo(f.pseudo);
   var mailOk = verifMail(f.email);
   var MdPOk = verifMdP(f.pass);
   
   if(pseudoOk && mailOk && MdPOk)
      return true;
   else
   {
      alert("Veuillez remplir correctement tous les champs");
      return false;
   }
}
function surligne(champ, erreur)
{
   if(erreur)
      champ.style.backgroundColor = "#fba";
   else
      champ.style.backgroundColor = "";
}
</script>

</head>

<body>
<div align="center">
<H1>Inscription</H1>
<form action="" method="post" name="inscription" onsubmit="return verifForm(this)">
<table width="300" border="1" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC">

	<tr>

	<td><table width="400"  border="0" cellpadding="10" cellspacing="0" bgcolor="#eeeeee">

	<tr>

	<td width="50%"><span>Pseudo</span></td>

	<td width="50%"><input name="pseudo" type="text" onKeyUp="verifPseudoDB (this.value)" onblur="verifPseudo(this)"><div id="pseudobox"></div></td>

	</tr>

	<tr>
	<td width="50%"><span>E-Mail</span></td>

	<td width="50%"><input name="email" type="text" onblur="verifMail(this)"></td>
	</tr>
	<tr>

	<td width="50%"><span>Mot de passe</span></td>

	<td width="50%"><input name="pass" type="password" onblur="verifMdP(this)"></td>

	</tr>

	<tr>

	<td height="34" colspan="2"><div align="center">

	<input type="submit" name="Submit" value="S'inscrire">

	</div></td>

	</tr>

	</table></td>

	</tr>

</table>
</form>
<a href="index.php">Retour à la page d'accueil<a>
</div>
</body>
</html>
dimanche 24 janvier 2010 à 17:28:34 | Re : Fusionner 2 JavaScript

sitajony

Bon j'ai regardé attentivement je suis pas sur que sa soit bon mais sa coute rien d'essayer:
Code HTML :
<?
if (isset($_POST['Submit'])) {
	echo "test";
}
?>
<html>

<head>

<title>Inscription</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
var etatpseudo=0 //Le pseudo n'est pas correct, cet état se change dynamiquement dans la fonction verifPseudoDB()... [Lignes 25, 28, 33 et 36], elle est aussi utilisé dans la fonction verifForm dans la ligne 102.
// 1ème script
function writediv(texte)
{
document.getElementById('pseudobox').innerHTML = texte;
}

function verifPseudoDB(pseudo)
{
if(pseudo != '')
{
if(pseudo.length<3)
etatpseudo=0;
writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop court</span>');
else if(pseudo.length>10)
etatpseudo=0;
writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop long</span>');
else if(texte = file('verifpseudo.php?login='+escape(pseudo)))
{
if(texte == 1)
etatpseudo=0;
writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est deja pris</span>');
else if(texte == 2)
etatpseudo=1
writediv('<span style="color:#1A7917"><b>'+pseudo+' :</b> ce pseudo est libre</span>');
else
writediv(texte);
}
}
}
function file(fichier)
{
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
}
// 2ème script
function verifPseudo(champ)
{
   if(champ.value.length < 3 || champ.value.length > 10)
   {
      surligne(champ, true);
      return false;
   }
   else
   {
      surligne(champ, false);
      return true;
   }
}
function verifMail(champ)
{
   var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
   if(!regex.test(champ.value))
   {
      surligne(champ, true);
      return false;
   }
   else
   {
      surligne(champ, false);
      return true;
   }
}
function verifMdP(champ)
{
   if(champ.value.length < 6 || champ.value.length > 10)
   {
      surligne(champ, true);
      return false;
   }
   else
   {
      surligne(champ, false);
      return true;
   }
}
function verifForm(f)
{
   var mailOk = verifMail(f.email);
   var MdPOk = verifMdP(f.pass);
   
   if(etatpseudo && mailOk && MdPOk)
      return true;
   else
   {
      alert("Veuillez remplir correctement tous les champs");
      return false;
   }
}
function surligne(champ, erreur)
{
   if(erreur)
      champ.style.backgroundColor = "#fba";
   else
      champ.style.backgroundColor = "";
}
</script>

</head>

<body>
<div align="center">
<H1>Inscription</H1>
<form action="" method="post" name="inscription" onsubmit="return verifForm(this)">
<table width="300" border="1" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC">

	<tr>

	<td><table width="400"  border="0" cellpadding="10" cellspacing="0" bgcolor="#eeeeee">

	<tr>

	<td width="50%"><span>Pseudo</span></td>

	<td width="50%"><input name="pseudo" type="text" onKeyUp="verifPseudoDB (this.value)" onblur="verifPseudo(this)"><div id="pseudobox"></div></td>

	</tr>

	<tr>
	<td width="50%"><span>E-Mail</span></td>

	<td width="50%"><input name="email" type="text" onblur="verifMail(this)"></td>
	</tr>
	<tr>

	<td width="50%"><span>Mot de passe</span></td>

	<td width="50%"><input name="pass" type="password" onblur="verifMdP(this)"></td>

	</tr>

	<tr>

	<td height="34" colspan="2"><div align="center">

	<input type="submit" name="Submit" value="S'inscrire">

	</div></td>

	</tr>

	</table></td>

	</tr>

</table>
</form>
<a href="index.php">Retour à la page d'accueil<a>
</div>
</body>
</html>


Cette discussion est classée dans : champ, pseudo, return, if, else


Répondre à ce message

Sujets en rapport avec ce message

Une fonction liée à un évènement (ex: onBlur, onSubmit) qui ne s'exécute pas... [ par kharshak ] Bonjour à toi, J'ai un petit problème avec mon code. J'ai une page HTML avec un "joli" formulaire, et des actions de vérification à faire sur certain Fonction if/else Javascript [ par Golfaddict ] Bonjour à tous, Je suis en train de créer un bon de commande électronique "poussé" pour un client très exigent et je n'ai pas du tout l'habitude d'é JQUERY et json_encode qui encode une fois sur 2 [ par BBFUNK01 ] Hello, voici mon problème : pour un de mes sites je suis en train de mettre en place un module de notification qui avertit l'utilisateur des message Javascript et formulaire [ par warka0O ] Bonjour, (ou bonsoir) Je me présente à vous car j'ai un énorme soucis ! Mon contrôle de saisi sur mon formulaire ne veux pas s'opérer. Normalement, Besoin Aide Javascript ne fonctionne pas [ par Anicknie ] voici mon code pour mon formulaire _______________________________________________ <table bo problème Javascript [ par Anicknie ] Bonjour, Je suis présentement un cours en hypermédia et je dois réaliser un site simple avec du html, css, javascript et aspx. Voici mon problème : j Formulaire - form [ par Adri111 ] Bonjour à tous, Je suis nouveau dans ce langage, et j'avoue que j'ai bien des problèmes pour faire ce formulaire en Espagnol. Je vous remercie d'avan IE et Mozzila Firefox n'active pas mon javascript de mon formulaire [ par momosan77 ] Bonjour, J'ai un souci, c'est quand j'essaie de valider le formulaire dans Mozzila ou IE celui-ci ne prend pas compte du javascript Alors que si je l' Fonction non activer... [ par momosan77 ] Bonjour, j'expose mon soucis donc c'est que la fonction principale ne considère ni les fonction secondaire no les fonction principale. Alors que sa a


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,671 sec (4)

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