Probleme javascript

Fermé
mamar - 9 oct. 2008 à 20:05
 Utilisateur anonyme - 9 oct. 2008 à 22:23
Bonjour,

Alors j'ai créer une fonction javascript de controle pour mon formulaire. Et ma prof désire que grâce à la methode document.location.href="" je renvoi une page de confirmation hors j'ai un probleme et je ne la trouve pas. Je vous laisse donc mon code ci dessous en espérant que vous puissiez m'aider.

<html>

<head>
<title>Vente de DVD en ligne - Inscription</title>

<script language="javascript">
function verifForm(form){

if(document.inscrip.nom.value=="" || document.inscrip.jour.value=="..." ||document.inscrip.mois.value=="..." || document.inscrip.mdPasse.value==""
|| document.inscrip.verifmdPasse.value==""|| document.inscrip.annee.value=="" || document.inscrip.mail.value=="" || document.inscrip.verifMail.value==""){
alert("Veuillez remplir tous les champs du formulaire svp");
return false;
}

if(document.inscrip.mdPasse.value != document.inscrip.verifmdPasse.value){
alert("Attention les mots de passes saisis ne sont pas identiques");
return false;
}

if(document.inscrip.mail.value != document.inscrip.verifMail.value){
alert("Attention les adresses mails saisies ne sont pas identiques");
return false;
}

return true;
}
</script>


<p>Pour vous s'inscrire veuillez remplir le formulaire ci-dessous :</p>

<form name="inscrip">


<table border="0">
<tr>
<td>Votre nom ou votre pseudo : </td>
<td><INPUT TYPE="text" NAME="nom"></td>
</tr>

<tr>
<td>Votre date de naissance </td>
<td>Jour : <select name="jour"> <option>...</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>

Mois : <select name="mois"> <option>...</option>
<option>Janvier</option>
<option>Février</option>
<option>Mars</option>
<option>Avril</option>
<option>Mai</option>
<option>Juin</option>
<option>Juillet</option>
<option>Aout</option>
<option>Septembre</option>
<option>Octobre</option>
<option>Novembre</option>
<option>Décembre</option>
</select>

Année : <input type="text" name="annee" size="4">
</td>
</tr>

<tr>
<td>Votre sexe : </td>
<td>Homme : <INPUT TYPE="radio" name="sexe" value="h" checked>
Femme : <INPUT TYPE="radio" name="sexe" value="f">
</td>
</tr>

<tr>
<td>Votre mot de passe de connexion : </td>
<td><INPUT TYPE="text" NAME="mdPasse"></td>
</tr>

<tr>
<td>Vérification de votre mot de passe : </td>
<td><INPUT TYPE="text" NAME="verifmdPasse"></td>
</tr>

<tr>
<td>Votre adresse email : </td>
<td><INPUT TYPE="text" NAME="mail"></td>
</tr>

<tr>
<td>Vérification de votre adresse mail : </td>
<td><INPUT TYPE="text" NAME="verifMail"></td>
</tr>
</table>
<input type="button" value="Envoyer" onclick=verifForm(this.inscrip) document.location.href="valide.html"/>
</FORM>




</body>


</html>

24 réponses

Utilisateur anonyme
9 oct. 2008 à 21:08
J'espère bien! ^^ ; )
1
Utilisateur anonyme
9 oct. 2008 à 21:28
Bon... je me lance!
essaye ça :

<script language="javascript"> 
function verifForm(form){ 
var flag;
flag=1

if(document.inscrip.nom.value=="" || document.inscrip.jour.value=="..." ||document.inscrip.mois.value=="..." || document.inscrip.mdPasse.value=="" 
|| document.inscrip.verifmdPasse.value==""|| document.inscrip.annee.value=="" || document.inscrip.mail.value=="" || document.inscrip.verifMail.value==""){ 
alert("Veuillez remplir tous les champs du formulaire svp");
flag=0;} 



if(document.inscrip.mdPasse.value != document.inscrip.verifmdPasse.value){ 
alert("Attention les mots de passes saisis ne sont pas identiques");
flag=0} 


if(document.inscrip.mail.value != document.inscrip.verifMail.value){ 
alert("Attention les adresses mails saisies ne sont pas identiques");
flag=0} 



if(flag=1){ 
document.location.href="valide.html";}



explication :
je crée une variable appelée flag. Je l'initialise à 1.
ensuite, on rentre dans les if. Si y'a un truc qui est pas bon, flag prend 0.
a la fin, si flag est égale à 1, c'est qu'aucun problème n'a été rencontré : on peut rediriger.
Essaye et dis moi si ça marche. ^^
1
Utilisateur anonyme
9 oct. 2008 à 21:43
J'ai vu quelques erreurs. Je te remet le code bien comme il faut. Petite remarque : valide.html est devenu valideinscrip.html
Je sais pas si c'est voulu mais je te le signale au cas ou...

<head> 
<title>Vente de DVD en ligne - Inscription</title> 

<script language="javascript"> 
function verifForm(form){ 
var erreur; 
erreur=1;

if(document.inscrip.nom.value=="" || document.inscrip.jour.value=="..." ||document.inscrip.mois.value=="..." || document.inscrip.mdPasse.value=="" 
|| document.inscrip.verifmdPasse.value==""|| document.inscrip.annee.value=="" || document.inscrip.mail.value=="" || document.inscrip.verifMail.value=="")
{ 
alert("Veuillez remplir tous les champs du formulaire svp"); 
erreur=0;
} 



if(document.inscrip.mdPasse.value != document.inscrip.verifmdPasse.value)
{ 
alert("Attention les mots de passes saisis ne sont pas identiques"); 
erreur=0;
} 


if(document.inscrip.mail.value != document.inscrip.verifMail.value)
{ 
alert("Attention les adresses mails saisies ne sont pas identiques"); 
erreur=0;
} 



if(erreur==1)
{ 
document.location.href="valideInscrip.html";
} 

</script> 
</head>


Copie colle ce code.
Si ça ça marche pas, alors mets toi des alert un peu partout pour voir ce qu'il se passe et quelles valeurs ont tels trucs...
1
Utilisateur anonyme
9 oct. 2008 à 21:53
Ok! tiens moi au courant! ^^
1

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

Posez votre question
Utilisateur anonyme
9 oct. 2008 à 22:23
Ok! Merci! Bon courage et bonne soirée! ^^
1
y'a encore un petit souci... si je place le morceau de code <

script language="javascript">
location.href="valide.html";
</script>

Le script s'execute directement et je n'ai pas le temps de remplir le formulaire... Ce que je voudrai c'est que la page de confirmation arrive au onclick du boutton du formulaire. Mais si j'y arrive pas...

(merci de m'aider quand même on avance doucement mais surement )
0
C'est possible mais à ce moment la je sais pas ou mettre ce petit bout de code, car ma procédure renvoi vrai ou faux... et pas une adresse ou je sais pas quoi... (vous l'aurez remarqué je suis pas tres fort en algorithmique ^^)
0
non, en faite ce que je voulais faire au départ, c'était verifier le formulaire, verifier que les mots de passes et les adresses mails étaient bien les memes et renvoyer une page de validation.

Donc j'ai voulu créer 3 booleens qui étaient vrai si il n'y avait pas de problemes et faux si il y avait un probleme de saisi. Mais apres un passage éclair sur ce forum plus tot dans la semaine on m'avait indiquer que c'était plus propre comme ca et j'ai laissé le tout comme ca en attendant de m'y remettre :s
0
les 3 booleens étant : verification que tout les zones soient remplis, verification des deux mots de passes, et verification des deux adresses mails.

(désolé pour le double post)
0
yes, bonne idée, j'men vais essayé de suite... jvous tiens au courant =)
0
Voila la fonction modifiée :

<script language="javascript">
function verifForm(form){
var saisiVide=0;
var bonMdp=0;
var bonMail=0;

if(document.inscrip.nom.value=="" || document.inscrip.jour.value=="..." ||document.inscrip.mois.value=="..." || document.inscrip.mdPasse.value==""
|| document.inscrip.verifmdPasse.value==""|| document.inscrip.annee.value=="" || document.inscrip.mail.value=="" || document.inscrip.verifMail.value==""){
alert("Veuillez remplir tous les champs du formulaire svp");}
else vide=1;


if(document.inscrip.mdPasse.value != document.inscrip.verifmdPasse.value){
alert("Attention les mots de passes saisis ne sont pas identiques");}
else bonMdp=1;


if(document.inscrip.mail.value != document.inscrip.verifMail.value){
alert("Attention les adresses mails saisies ne sont pas identiques");}
else bonMail=1;


if(vide=1 && bonMail=1 && bonMdp=1){
location.href="valide.html";}

Cependant il doit y avoir une erreur quelque part et je la trouve pas vraiment ^^'
0
j'ai deja chopé une erreur ds le dernier if j'avais oublié les ==

Mais ca marche tjs pas....
0
Maintenant la fonction donne ca :

<head>
<title>Vente de DVD en ligne - Inscription</title>

<script language="javascript">
function verifForm(form){
var flag;
erreur=1

if(document.inscrip.nom.value=="" || document.inscrip.jour.value=="..." ||document.inscrip.mois.value=="..." || document.inscrip.mdPasse.value==""
|| document.inscrip.verifmdPasse.value==""|| document.inscrip.annee.value=="" || document.inscrip.mail.value=="" || document.inscrip.verifMail.value==""){
alert("Veuillez remplir tous les champs du formulaire svp");
erreur=0;}



if(document.inscrip.mdPasse.value != document.inscrip.verifmdPasse.value){
alert("Attention les mots de passes saisis ne sont pas identiques");
erreur=0;}

if(document.inscrip.mail.value != document.inscrip.verifMail.value){
alert("Attention les adresses mails saisies ne sont pas identiques");
erreur=0;}



if(erreur=1){
document.location.href="valideInscrip.html";}
</script>
</head>

Mais toujours pas de réaction au click, il ne m'affiche rien meme quand je ne rempli pas tout les champs... C'est chiant le javascript ^^
0
function verifForm(form){
var flag;
erreur=1

if(document.inscrip.nom.value=="" || document.inscrip.jour.value=="..." ||document.inscrip.mois.value=="..." || document.inscrip.mdPasse.value==""
|| document.inscrip.verifmdPasse.value==""|| document.inscrip.annee.value=="" || document.inscrip.mail.value=="" || document.inscrip.verifMail.value==""){
alert("Veuillez remplir tous les champs du formulaire svp");}
else {erreur=0;}



if(document.inscrip.mdPasse.value != document.inscrip.verifmdPasse.value){
alert("Attention les mots de passes saisis ne sont pas identiques");}
else {erreur=0;}

if(document.inscrip.mail.value != document.inscrip.verifMail.value){
alert("Attention les adresses mails saisies ne sont pas identiques");}
else {erreur=0;}



if(erreur=1){
document.location.href="valideInscrip.html";}

Legere modification j'ai rajouté les else et remonté les {} du alors mais c'est tjs pas ca
0
j'ai aussi renomé la variable pour qu'elle est le meme nom que dans la fonction... utile ^^"
0
Bon bah je part mettre des alert un peu partout ^^"
0
j'abandonne pour ce soir, je comprends pas tout ce qui se passe, je demanderai à ma prof d'info demain et je posterai la réponse =)
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
9 oct. 2008 à 20:32
<html>

<head>
<title>Vente de DVD en ligne - Inscription</title>

<script language="javascript">
function verifForm(form){

if(document.inscrip.nom.value=="" || document.inscrip.jour.value=="..." ||document.inscrip.mois.value=="..." || document.inscrip.mdPasse.value==""
|| document.inscrip.verifmdPasse.value==""|| document.inscrip.annee.value=="" || document.inscrip.mail.value=="" || document.inscrip.verifMail.value==""){
alert("Veuillez remplir tous les champs du formulaire svp");
return false;
}

if(document.inscrip.mdPasse.value != document.inscrip.verifmdPasse.value){
alert("Attention les mots de passes saisis ne sont pas identiques");
return false;
}

if(document.inscrip.mail.value != document.inscrip.verifMail.value){
alert("Attention les adresses mails saisies ne sont pas identiques");
return false;
}

return true;
}
</script>


<p>Pour vous s'inscrire veuillez remplir le formulaire ci-dessous :</p>

<form name="inscrip" method="post" action="verification.php" onSubmit="verifForm(this.inscrip);">


<table border="0">
<tr>
<td>Votre nom ou votre pseudo : </td>
<td><INPUT TYPE="text" NAME="nom"></td>
</tr>

<tr>
<td>Votre date de naissance </td>
<td>Jour : <select name="jour"> <option>...</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>

Mois : <select name="mois"> <option>...</option>
<option>Janvier</option>
<option>Février</option>
<option>Mars</option>
<option>Avril</option>
<option>Mai</option>
<option>Juin</option>
<option>Juillet</option>
<option>Aout</option>
<option>Septembre</option>
<option>Octobre</option>
<option>Novembre</option>
<option>Décembre</option>
</select>

Année : <input type="text" name="annee" size="4">
</td>
</tr>

<tr>
<td>Votre sexe : </td>
<td>Homme : <INPUT TYPE="radio" name="sexe" value="h" checked>
Femme : <INPUT TYPE="radio" name="sexe" value="f">
</td>
</tr>

<tr>
<td>Votre mot de passe de connexion : </td>
<td><INPUT TYPE="text" NAME="mdPasse"></td>
</tr>

<tr>
<td>Vérification de votre mot de passe : </td>
<td><INPUT TYPE="text" NAME="verifmdPasse"></td>
</tr>

<tr>
<td>Votre adresse email : </td>
<td><INPUT TYPE="text" NAME="mail"></td>
</tr>

<tr>
<td>Vérification de votre adresse mail : </td>
<td><INPUT TYPE="text" NAME="verifMail"></td>
</tr>
</table>
<input type="submit" value="Envoyer" />
</FORM>




</body>


</html>

et le script de la page verification.php

<?php
$jour_naiss=$_POST['jour'];
///etc...
$mail=$_POST['mail'];

//etc..

//tu fais le traitement  de l'inscription    puis
?>
<script language="javascript">
location.href="valide.html";
</script>

-1
Utilisateur anonyme
9 oct. 2008 à 20:35
^^
tu as mis document.location.href dans du code html.
Il faut que tu mettes les balises javascripts... ^^
-1
Utilisateur anonyme
9 oct. 2008 à 20:44
je pense que tu dois mettre document.location.href dans ta procédure verifform. tout à la fin.
-1