Deux fonctions JS ensemble: KO

francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015 - 22 juil. 2009 à 22:35
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 24 juil. 2009 à 08:25
Bonjour

J'ai mis les deux fonctions de contrôle ensemble mais la première partie ne contrôle rien :
<!--  Check Internet fields  pour saisieProfil.php -->
<!-- Begin
function checkFieldsC() 
{
missinginfo1 = "";
if ((document.form.mailperso.value "") ||  (document.form.mailperso.value.indexOf('@') -1) ||  (document.form.mailperso.value.indexOf('.') == -1)) 
{
missinginfo1 += "\n l\'adresse mail";
}
if (missinginfo1 != "") 
{
missinginfo1 ="_____________________________\n" +
"Assurez vous de remplir:\n" +
missinginfo1 +
"\ncorrectement." + 
"\n_____________________________";
alert(missinginfo1);
return false;
}
else return true;

missinginfo = "";
if ((document.form.webmailperso.value "") || ( (document.form.webmailperso.value.indexOf('https://') -1) && (document.form.webmailperso.value.indexOf('http://') == -1) ) || (document.form.webmailperso.value.indexOf('.') == -1))
{
missinginfo += "\n l\'URL";
}
if (missinginfo != "") 
{
missinginfo ="_____________________________\n" +
"Assurez vous de remplir:\n" +
missinginfo +
"\ncorrectement." + 
"\n_____________________________";
alert(missinginfo);
return false;
}
}
//  End -->

A votre avis ?

Merci par avance de votre aide.

Francois

4 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
23 juil. 2009 à 05:51
Bonjour,
>>mais la première partie ne contrôle rien :
ah ?
j'aurais plutôt dit la 2ème partie ?
ou alors on ne se comprend pas ?

si on teste ( d'ailleurs vous auriez pu nous mettre
les 3 lignes html nécessaires, ça nous aurait
évité de les taper, mais surtout de faire peut-
être quelque chose de différent de vous et qui
fonctionne, alors que vous faites peut-être
des erreurs ? )

le mail est bien contrôlé, pas l'url

et c'est normal :
if (missinginfo1 != "")
{ ...
alert(missinginfo1);
return false;
}
else return true;

donc, si c'est faux message et sortie
de la fonction en retournant false,
si c'est bon sortie
de la fonction en retournant true
on ne regarde jamais l'url

remarques :
_ il vaut mieux éviter les name
qui ressemblent ç ce que connais le html/
javascript, un jour ou l'autre ça joue des
tours ( "form" ici ! )
_ pourquoi faire un test alors qu'il
est déjà fait auparavant ?
vous faites
if ( condition 1 )
{ missinginfo1="lkklkllljklj" }
if ( missinginfo1!="" )
{ traitements )
faites donc
if ( condition 1 )
{ missinginfo1="lkklkllljklj"
traitements
)


Cordialement [mon Site] [M'écrire] Bul
0
francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015
23 juil. 2009 à 21:50
Oui, le test mail est bien fait mais pas le test Url.

Je vais travailler sur la piste que vous me donnez, en amatuer pas averti du JS.

Merci.

Francois
0
francoisch Messages postés 258 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 16 février 2015
23 juil. 2009 à 22:09
bonjour

J'en suis là:
<!--  Check Internet fields  pour saisieProfil.php -->
<!-- Begin
function checkFieldsC() 
{
missinginfo1 = "";
if ((document.form.mailperso.value "") ||  (document.form.mailperso.value.indexOf('@') -1) ||  (document.form.mailperso.value.indexOf('.') == -1)) 
{
missinginfo1 += "\n l\'adresse mail";
}

if (missinginfo1 != "") 
{
missinginfo1 ="_____________________________\n" +
"Assurez vous de remplir:\n" +
missinginfo1 +
"\ncorrectement." + 
"\n_____________________________";
alert(missinginfo1);
return false;
}		

missinginfo2 = "";
if ((document.form.webmailperso.value "") || ( (document.form.webmailperso.value.indexOf('https://') -1) && (document.form.webmailperso.value.indexOf('http://') == -1) ) || (document.form.webmailperso.value.indexOf('.') == -1))
{
missinginfo2 += "\n l\'URL";
}

if (missinginfo2 != "") 
{
missinginfo2 ="_____________________________\n" +
"Assurez vous de remplir:\n" +
missinginfo2 +
"\ncorrectement." + 
"\n_____________________________";
alert(missinginfo2);
return false;
}

else return true;	

}
//  End -->

La fonction contrôle bien:
- si les deux sont faux
- l'adresse mail d'abord
- après correction, l'Url ensuite

Simplement, je n'ai pas les deux boites d'alerte s'ouvrant l'une après l'autre.

Que faudrait il que je modifie pour améliorer mon code?

Par avance merci de votre aide.

Francois
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
24 juil. 2009 à 08:25
c'est toujours normal !
sur le 1er contrôle, en cas d'erreur
un message est affiché et un return false fait
donc le 2ème champ n'est pas testé.
0
Rejoignez-nous