Verification formulaire avec javascript

Résolu
fab0 Messages postés 35 Statut Membre -  
Gihef Messages postés 5165 Statut Contributeur -
Bonsoir tout le monde,

Voici mon problème j'ai créé un formulaire et je voudrai lorsque je clique sur envoyer, que mes champs soient analysé par mon code javascript et ensuite que la saisi des champs aille dans ma Base de Donnée via une page de récup Php. J'arrive à récuperer mes données dans ma base de donné mais je n'arrive pas à analyser mes champs pour mettre un message d'alerte au cas ou ke prénom ou le nom, etc ... ne serait pas saisi.

Voici mon code

<code><link href="../style/style.css" rel="stylesheet" type="text/css">
<script language="JavaScript">
<!--



/*function envoi(){
document.forms["form_1"].submit()
nbr=document.forms["form_1"].length

for(i=0;i<nbr;i++){
alert (document.forms["form_1"].elements[i].name)
}

}*/

///////////////////////////////////
////////////////////////////////////////
function test(){



/*tableau récuperation erreur*/
tab_erreur=new Array();



/*nom*/
nom=document.forms["form_1"].nom.value;

if(nom==""){
verif_nom="le nom";
tab_erreur.push(verif_nom);

}
/*prenom*/
nom=document.forms["form_1"].prenom.value;

if(prenom==""){
verif_nom="le prénom";
tab_erreur.push(verif_prenom);
}

/*login*/
login=document.forms["form_1"].login.value;
if(login==""){
verif_login="login";
tab_erreur.push(verif_login);
}

/*email*/
adresse = document.forms["form_1"].email.value;

arobase = adresse.indexOf("@",1);
point = adresse.indexOf(".",arobase+1);
if ((arobase > -1)&&(adresse.length >2)&&(point > 1))
{
/* verif_email="email invalide";
tab_erreur.push(verif_email);*/
}
else
{ verif_email="email invalide";
tab_erreur.push(verif_email);
}
/*adresse 1*/
login=document.forms["form_1"].adresse.value;
if(adresse==""){
verif_adresse="Indiquez la rue";
tab_erreur.push(verif_adresse);
}

/*adresse 2*/
login=document.forms["form_1"].ville.value;
if(ville==""){
verif_ville="Indiquez la villle";
tab_erreur.push(verif_ville);
}

/*adresse 1*/
login=document.forms["form_1"].cp.value;
if(cp==""){
verif_cp="Indiquez le Code postal";
tab_erreur.push(verif_cp);
}
/*tel_fixe*/
n=document.forms["form_1"].tel_fixe.value;
if (n!=""){ if(isNaN(n)){
verif_tel_fixe="n° de téléphone érroné";
tab_erreur.push(verif_tel_fixe);
}
}else{
vide="téléphone le téléphone fixe";
tab_erreur.push(vide);
}

/*tel_port*/
tel=document.forms["form_1"].tel_port.value;
if (tel!=""){ if(isNaN(tel)){
verif_tel_port="n° de téléphone érroné";
tab_erreur.push(verif_tel_port);
}
}else{
vide="téléphone le téléphone portable";
tab_erreur.push(vide);
}
/*metiers*/
m=document.forms["form_1"].metiers.value;
if(m==""){
verif_metiers="Métiers";
tab_erreur.push(verif_metiers);
}

/*mot de passe*/
mdp=document.forms["form_1"].mdp.value;
if(mdp==""){
verif_mdp="Indiquez un mot de passe";
tab_erreur.push(verif_mdp);
}

/*etats civils*/
c=document.forms["form_1"].civils.value;
if(c==""){
verif_civils="Etats Civils";
tab_erreur.push(verif_civils);
}

/*sexe*/
monsieur = document.forms["form_1"].elements[11];
madame = document.forms["form_1"].elements[12];

if(monsieur.checked==false && madame.checked==false ){
alert_sexe="sexe";
tab_erreur.push(alert_sexe);
}

/*age*/
a=document.forms["form_1"].age.value;
if(a==""){
verif_age="Age";
tab_erreur.push(verif_age);
}

/*etudes*/
etude=document.forms["form_1"].etudes.value;
if(etude==""){
verif_etudes="Etudes";
tab_erreur.push(verif_etudes);
}

/*sexe*/
ouvert = document.forms["form_1"].elements[14];
cache = document.forms["form_1"].elements[15];

if(ouvert.checked==false && cache.checked==false ){
alert_ouvert="ouvert";
tab_erreur.push(alert_ouvert);
}

/*commentaires*/
c=document.forms["form_1"].commentaires.value;
if(c=="" || c=="Commentaires"){
verif_com="Commentaires";
tab_erreur.push(verif_com);
}

/*email*/
adresse = document.forms["form_1"].email.value;

arobase = adresse.indexOf("@",1);
point = adresse.indexOf(".",arobase+1);
if ((arobase > -1)&&(adresse.length >2)&&(point > 1))
{
/* verif_email="email invalide";
tab_erreur.push(verif_email);*/
}
else
{ verif_email="email invalide";
tab_erreur.push(verif_email);
}


//récuperation des erreurs dans le tableau et alert pour l'utilisateur

if (tab_erreur.length>0){alert(tab_erreur.join("\n"));}
else{
/*pub*/
p=document.forms["form_1"].pub;
if(confirm("ok pour pub")){
verif_pub="publicite";
tab_erreur.push(verif_pub);
p.checked=true;
}

document.forms["form_1"].submit();
}

}
//-->
</script>
</head>

<body link="#FFCC33" vlink="#FFFFFF" alink="#FF0000">
<table width="900" height="100%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td><table width="575" height="550" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td background="../logo/formulaire.gif">
<--inscription_au_parti_query.php-->
<form action="" method="post" name="form_1">
<table width="540" border="0" cellspacing="0" cellpadding="0" align="center" class="medium">
<tr>
<td>Nom : </td>
<td> <input type="text" name="nom" size="20" maxlength="19"></td>
</tr>
<tr>
<td> Prénom : </td>
<td><input type="text" name="prenom" size="20" maxlength="19"></td>
</tr>
<tr>
<td>Login (11 lettres Max.):</td>
<td><input type="text" name="login" size="12" maxlength="11"></td>
</tr>
<tr>
<td> Email : </td>
<td><input type ="text" maxlength="30" size = "35"name="email"></td>
</tr>
<tr>
<td> Adresse (Rue, Bvd,...) : </td>
<td> <input name="adresse" type="text" size="25" maxlength="24"></td>
</tr>
<tr>
<td> Ville : </td>
<td><input name="ville" type="text" size="25" maxlength="24"></td>
</tr>
<tr>
<td> Code postal : </td>
<td><input name="cp" type="text" size="5" maxlength="5"></td>
</tr>
<tr>
<td>Téléphone fixe : </td>
<td><input name="tel_fixe" type="text" size="10" maxlength="10"></td>
</tr>
<tr>
<td>Téléphone portable : </td>
<td><input name="tel_port" type="text" size="10" maxlength="10"></td>
</tr>
<tr>
<td>Profession : </td>
<td><select name="metiers">
<option value="">faites votre choix</option>
<option value="ouvrie">Ouvrié</option>
<option value="technicien">Technicien</option>
<option value="cadre">Cadre</option>
<option value="profession_liberale">Profession libérale</option>
</select>
</td>
</tr>
<tr>
<td> Code secret (6 lettres Max.): </td>
<td><input name="mdp" type="password" size="6" maxlength="6"></td>
</tr>
<tr>
<td>Etat civil : </td>
<td><select name="civils">
<option value="">faites votre choix</option>
<option value="marie">Marié(e)</option>
<option value="celibataire">Célibataire</option>
<option value="concubinage">Concubinage</option>
<option value="pacs">Pacs</option>
</select>
</td>
</tr>
<tr>
<td>Homme : </td>
<td><input name="sexe" type="radio" value="H" checked></td>
</tr>
<tr>
<td>Femme : </td>
<td><input name="sexe" type="radio" value="F"></td>
</tr>
<tr>
<td>Age : </td>
<td><input name="age" type="text" size="3" maxlength="3"></td>
</tr>
<tr>
<td>Niveau d'étude : </td>
<td><select name="etudes">
<option value="">faites votre choix</option>
<option value="bep">BEP</option>
<option value="bac">BAC</option>
<option value="bac_p">BAC Pro</option>
<option value="bac+">BAC + </option>
</select>
</td>
</tr>
<tr>
<td colspan = "2">Mode d'inscription :</td>
</tr>
<tr>
<td >Ouvert : <input name="inscription" type="radio" value="O" checked></td>
<td>Caché : <input name="inscription" type="radio" value="C"></td>
</tr>
<tr>
<td>Commentaires : </td>
<td><textarea name="commentaire" cols="35" rows="5">

5 réponses

Ssylvainsab Messages postés 2892 Statut Modérateur 825
 
Salut.

J'ai plusieurs remarques a faire sur ton code :
-En javascript, je trouve que c'est pas très bien, quelqu'un qui a désactivé Javascript ne pourra pas utiliser ton formulaire.
-Les tableaux, c'est pas très bien non plus, ca nuit a l'accessibilité et ca rajoute beaucoup de code inutile a charger.

Tu trouveras ici de quoi faire un formulaire de contact sans tableaux et sans javascript, en vérifiant en php.
https://openclassrooms.com/fr/courses

Tu n'auras qu'a modifer le script pour ajouter des champs au formulaires.
0
fab0 Messages postés 35 Statut Membre
 
Merci pour ta réponse je vais essayer de faire ce que tu m'as dit mais cela me paraît assez difficile.

Je suis débutant ça ne facilite pas la tache, lol.
0
Ssylvainsab Messages postés 2892 Statut Modérateur 825
 
Tu trouveras surement de l'aide sur CCM, et si tu as un problème, n'hésite pas a demander ;-).
0
aanna
 
Bonjour,

<html>
<head>











</head>
<body>

<script type="text/javascript">
function f(){
var A=new array(3);

for(i=0;i<3;i++){

A[i]=5;
}
}
document.write(A.join());
</script>

</body>
</html>
0

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

Posez votre question
Gihef Messages postés 5165 Statut Contributeur 2 779
 
Bonjour,

Le gras est la norme en ce moment ?

Vois http://www.fredcavazza.net/doc/tutoriels/formulaire/SVF_intro.htm

--
0
Gihef Messages postés 5165 Statut Contributeur 2 779
 
“Le gras est la norme en ce moment ? ”
Il semble.

--
0