Accueil > Forum > > > > Fusionner 2 JavaScript
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
|
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
|
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
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Forum
UTILISER UN .JSUTILISER UN .JS par zaikoe
Cliquez pour lire la suite par zaikoe
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|