Probléme en javascript

Résolu/Fermé
jrad31 Messages postés 58 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 14 juillet 2012 - 17 nov. 2009 à 16:52
gigaga Messages postés 2346 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 22 août 2014 - 17 nov. 2009 à 17:17
Bonjour,
le problème est le suivant:
j'ai une page qui contient une formulaire (pour l'inscription) et j'ai fait un fichier javascript pour faire des tests sur cette formulaire, mais le problème c'est que lorsque je clique sur "envoyer" l'alerte s'affiche et quand je clique sur " ok " il passe à la page suivantes malgré que les condition ne sont pas encore vérifier. comment je peut l'empêcher de passer tant que les condition ne sont pas vérifier .
merci

5 réponses

gigaga Messages postés 2346 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 22 août 2014 301
17 nov. 2009 à 17:00
Essaie avec ça :

HTML :
<form name="ins" action="liste.php" method="post" onsubmit="return test();">
<table>
<th>
<td align="center"><b><i>S'INSCRIR</b></i></td></th>
<tr>
<td>Nom:</td>
<td><input type="text" name="nom" size="10"></td>
<td>Prénom:</td>
<td><input type="text" name="pnom" size="10"></td>
</tr>
<tr>
<td>E-mail:</td>
<td><input type="text" name="mail"></td>
</tr>
<tr>
<td>Mot de passe:</td>
<td><input type="password" name="mp"></td>
</tr>
<tr>
<td>répeter Mot de passe:</td>
<td><input type="password" name="rmp"></td>
</tr>
<tr">
<td align="right"><input type="reset" value="Annuler"></td>
<td> <input type="submit" value="Envoyer"></td>
</tr>


</table>
</form>


et celui ci de javascript:

function test()
{
msg="";
/*teste sur nom et prenom*/
if (document.ins.nom.value == "")
msg=msg+ "vous n'avez pas saisie votre nom\n";


if (document.ins.pnom.value =="")
msg=msg+ "vous n'avez pas saisie votre prenom\n";

/*testes sur l'email*/
if (document.ins.mail.value =="") {
msg=msg+ "vous n'avez pas saisir votre mail\n";
}
else
{
ch= document.ins.mail.value;
long= ch.length;
pos= ch.lastIndexOf('.');

if (pos==-1)
msg=msg+"il faut avoir au moin un point dans l'adresse email ;)\n";
else if (long-pos>4)
msg=msg+"email incorrect\n";

if ( ch.indexOf("@")==-1)
msg=msg+"email incorrect , pas de @\n";
}

/*teste sur mot de passe et sa confirmation*/

if (document.ins.mp.value =="") {
msg=msg+ "vous n'avez pas saisir votre mot de passe\n" ;
} else if (document.ins.mp.value != document.ins.rmp.value) {
msg=msg+"vous n'avez pas confirmez correctement votre mot de passe\n";
}

if (msg.length >0)
alert(msg);
return false;
} else {
return true;
}
1
gigaga Messages postés 2346 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 22 août 2014 301
17 nov. 2009 à 16:53
Sans code il va être compliqué de proposer une solution...
0
jrad31 Messages postés 58 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 14 juillet 2012 5
17 nov. 2009 à 16:56
ok, voila le code de page html:

<form name="ins" action="liste.php" method="post">
<table>
<th>
<td align="center"><b><i>S'INSCRIR</b></i></td></th>
<tr>
<td>Nom:</td>
<td><input type="text" name="nom" size="10"></td>
<td>Prénom:</td>
<td><input type="text" name="pnom" size="10"></td>
</tr>
<tr>
<td>E-mail:</td>
<td><input type="text" name="mail"></td>
</tr>
<tr>
<td>Mot de passe:</td>
<td><input type="password" name="mp"></td>
</tr>
<tr>
<td>répeter Mot de passe:</td>
<td><input type="password" name="rmp"></td>
</tr>
<tr">
<td align="right"><input type="reset" value="Annuler"></td>
<td> <input type="submit" value="Envoyer" OnClick="test()"></td>
</tr>


</table>
</form>
et celui ci de javascript:
function test()
{
msg="";
/*teste sur nom et prenom*/
if (document.ins.nom.value == "")
msg=msg+ "vous n'avez pas saisie votre nom\n";

if (document.ins.pnom.value =="")
msg=msg+ "vous n'avez pas saisie votre prenom\n";
/*testes sur l'email*/
if (document.ins.mail.value =="")
msg=msg+ "vous n'avez pas saisir votre mail\n";

else
{
ch= document.ins.mail.value;
long= ch.length;
pos= ch.lastIndexOf('.');

if (pos==-1)
msg=msg+"il faut avoir au moin un point dans l'adresse email ;)\n";
else if (long-pos>4)
msg=msg+"email incorrect\n";

if ( ch.indexOf("@")==-1)
msg=msg+"email incorrect , pas de @\n";
}

/*teste sur mot de passe et sa confirmation*/

if (document.ins.mp.value =="")
msg=msg+ "vous n'avez pas saisir votre mot de passe\n" ;

else if (document.ins.mp.value != document.ins.rmp.value)
msg=msg+"vous n'avez pas confirmez correctement votre mot de passe\n";

if (msg.length >0)
alert(msg);
}
0
jrad31 Messages postés 58 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 14 juillet 2012 5
17 nov. 2009 à 17:10
merci beaucoup ;)
0

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

Posez votre question
gigaga Messages postés 2346 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 22 août 2014 301
17 nov. 2009 à 17:17
De rien ;)
0