Pbe affichage message erreur saisie

elodielole Messages postés 17 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 21 avril 2009 - 15 avril 2009 à 21:46
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 17 avril 2009 à 14:04
Bonjour à tous!

Dans le cadre de mes études je dois utiliser AJAX, pour la saisie d'un nouveau client dans un formulaire, je veux afficher des messages d'erreurs si les champs ne sont pas bien renseignés. Mon script fonctionne avec Mozilla mais pas avec IE je ne sais pas d'ou vient l'erreur... J'ai un autre soucis aussi c'est que dans Mozilla quand j'appuie sur effacer ça ne fonctionne pas et sur valider une fois que mes champs sont correctement remplis il ne se passe rien ça ne m'amene pas à la page enr_client.php. Ci- dessous mon script
Je suis vraiment perdu pouvez vous m'aidez???

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<!-- Formulaire d'inscription pour un nouveau client -->
<head>
<title>Inscription</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />


<LINK rel=stylesheet type="text/css" href="style.css">
</head>

<form name='frm_inscription' action='enr_client.php' method='post'>
<script language="JavaScript1.2">
// Vérification de la saisie de l'utilisateur
 function verif_F_inscri()
{
    var zs_nom = trim(document.forms["frm_inscription"].zs_nom.value);
    var zs_prenom = trim(document.forms["frm_inscription"].zs_prenom.value);
 var zs_mail = trim(document.forms["frm_inscription"].zs_mail.value);
    var zs_adresse = trim(document.forms["frm_inscription"].zs_adresse.value);
    var zs_cp = trim(document.forms["frm_inscription"].zs_cp.value);
    var zs_ville = trim(document.forms["frm_inscription"].zs_ville.value);
 var zs_tel = trim(document.forms["frm_inscription"].zs_tel.value);
 var zs_age = trim(document.forms["frm_inscription"].zs_age.value);
  
    var zs_code = trim(document.forms["frm_inscription"].zs_code.value);
    var zs_cmdp = trim(document.forms["frm_inscription"].zs_cmdp.value);
   
   
    // Appel de la fonction qui enlève les messages d'erreurs
    efface_ERR_msg();
   
    // Dans cette version, on ajoute directement au document le commentaire d'erreur
    var msg_ERR_nom = "requis"; // Message d'erreur qui sera affiché
    var objControle;            // Objet Node qui va être contrôlé
   
    if (zs_nom == ""){
        // On récupère l'objet contenant la zone de saisie du nom
        objControle = document.forms["frm_inscription"].zs_nom;
        // On appel la fonction qui va ajouter un noeud erreur
        new_ERR_node(objControle, msg_ERR_nom);
    }
    if (zs_prenom == ""){
        objControle = document.forms["frm_inscription"].zs_prenom;
        new_ERR_node(objControle, msg_ERR_nom);
    }
 if (zs_mail == ""){
        objControle = document.forms["frm_inscription"].zs_mail;
        new_ERR_node(objControle, msg_ERR_nom);
    }
    if (zs_adresse == ""){
        objControle = document.forms["frm_inscription"].zs_adresse;
        new_ERR_node(objControle, msg_ERR_nom);
    }
    if (zs_cp == ""){
        objControle = document.forms["frm_inscription"].zs_cp;
        new_ERR_node(objControle, msg_ERR_nom);
    }
    if (zs_ville == ""){
        objControle = document.forms["frm_inscription"].zs_ville;
        new_ERR_node(objControle, msg_ERR_nom);
    }
 if (zs_tel == ""){
        objControle = document.forms["frm_inscription"].zs_tel;
        new_ERR_node(objControle, msg_ERR_nom);
    }
 if (zs_age == ""){
        objControle = document.forms["frm_inscription"].zs_age;
        new_ERR_node(objControle, msg_ERR_nom);
    }
  
    if (zs_code == ""){
        objControle = document.forms["frm_inscription"].zs_code;
        new_ERR_node(objControle, msg_ERR_nom);
    }
    if (zs_cmdp == ""){
        objControle = document.forms["frm_inscription"].zs_cmdp;
        new_ERR_node(objControle, msg_ERR_nom);
    }
   
 ////////////
    if (controle_mail(zs_mail)){
        objControle = document.forms["frm_inscription"].zs_mail;
        new_ERR_node(objControle, "Mail au mauvais format");
    }
    if (controle_cp(zs_cp)){
        objControle = document.forms["frm_inscription"].zs_cp;
        new_ERR_node(objControle, "CP au mauvais format");
    }
 if (controle_tel(zs_tel)){
        objControle = document.forms["frm_inscription"].zs_tel;
        new_ERR_node(objControle, "Téléphone au mauvais format");
    }
// test sur le mot de passe et la confirmation
    if (zs_code!= zs_cmdp){
        objControle = document.forms["frm_inscription"].zs_cmdp;
        new_ERR_node(objControle, "mdp et confirmation du mdp différent");
    }
  


}
// Fonction qui élimine les espaces dans une chaîne de caractères
function trim(chaine){
    chaine = chaine.replace(/(^\s*)|(\s*$)/g, "");
    return chaine;
}
// Fonction qui crée un nouveau noeud d'erreur
function new_ERR_node(noeud, msg)
{
 //var parent;
    // On récupère le noeud parent pour y ajouter le commentaire d'erreur ensuite
    parent = noeud.parentNode;
    // On crée dans le parent un nouveau noeud de type erreur
    erreur = parent.appendChild(document.createElement("erreur"));
    // On y ajoute un attribut pour y appliquer le style de la classe erreur
    erreur.setAttribute("class","erreur");
    // On crée un noeud de type texte pour y mettre le commentaire "requis"
    erreur.appendChild(document.createTextNode(msg));
}
// Fonction qui efface les messages d'erreurs pour éviter leur répétition
function efface_ERR_msg(){
    var liste_ERR = document.getElementsByTagName("erreur");
    var node2sup;
    var parent;
    for (var i = (liste_ERR.length-1); i >= 0; i=i-1){
        node2sup = liste_ERR[i];
        parent = node2sup.parentNode;
        parent.removeChild(node2sup);
    }
}
// Fonction qui contrôle la validité d'un email
function controle_mail(zs_mail)
{
    if(zs_mail.search(/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.){1}[A-Za-z0-9]+$/) == -1)
 {
        return true;
    }
 else{
        return false;
    }
}
// Fonction qui contrôle la validité du CP
function controle_cp(zs_cp)
{
    if(zs_cp.search(/^[0-9]{5}$/) == -1)
 {
        return true;
    }else{
        return false;
    }
}
//Fonction qui contrôle le telephone
 function controle_tel(zs_tel)
{
    if(zs_tel.search(/^[0-9]{2}\.[0-9]{2}\.[0-9]{2}\.[0-9]{2}\.[0-9]{2}$/) == -1)
 {
        return true;
    }else{
        return false;
    }
}
function eff()
    {
        frm_inscription("zs_prenom").value = "";
        frm_inscription("zs_nom").value = "";
        frm_inscription("zs_mail").value = "";
        frm_inscription("zs_adresse").value = "";
        frm_inscription("zs_cp").value = "";
        frm_inscription("zs_ville").value = "";
        frm_inscription("zs_age").value = "";
        frm_inscription("zs_tel").value = "";
  frm_inscription("zs_code").value = "";
  frm_inscription("zs_cmdp").value = "";
    }
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
  
</script>




<center>Formulaire d'inscription
<table>

----

   , Nom :</td>,
 &nbsp;Prénom :, ,
    

 ----

  E-mail :, ,

 

 ----

  Adresse :, ,
 

 
 ----

  Code Postal :, ,
  &nbsp;Ville :, ,
 

 
 ----

  Tél :&nbsp;&nbsp;&nbsp;, ,
  &nbsp;Age :, ,
 


 
 ----

  Mot de passe : (6caractères max), ,
  &nbsp;Confirmation mot de passe :, ,   
 









Tous les champs sont obligatoires</center>


</td></tr></table>
</form>

<center>[index.php Retour à l'accueil]</center>

</html>

Merci par avance
Elodie





Merci par avance
Elodie

4 réponses

Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
15 avril 2009 à 22:56
Premièrement,
<script language" javascript " <gras>type"</gras>text/javascript">

Deuxièmement, tu valides que tes champs sont valides, mais s'ils sont tous valides tu ne soumet pas le formulaire. C'est normal que tu ne sois pas amené vers la ta page enr_client.php

Troisièmement, la fonction "frm_inscription" sort de où ? C'est normale que ça ne fonctionne pas, tu lui demandes d'exécuter une fonction qui n'existe pas. Aussi normalement pour remettre à zéro un formulaire, on utilise un input de type reset.


Dernièrement, tes vérifications doivent normalement se faire côté
serveur. Ça peut toujours être intéressant les faire côté client, mais
ils doivent absolument se faire aussi côté serveur.
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
16 avril 2009 à 19:11
Bonjour,
sans revenir sur ce que t'a mentionné
Arto_8000...

oubli les noms de
variable qui sont des mots réservés comme parent ou alors déclares bien en variable locale

var parent =
noeud.parentNode;
mieux
var O_parent = noeud.parentNode;
IExplorer n'aime pas...

évites de créer des
éléments non reconnus
document.createElement("erreur")
;O)
0
elodielole Messages postés 17 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 21 avril 2009
17 avril 2009 à 13:55
Bonjourà tous

Merci pour les réponses j'ai résolu le problème parent va beaucoup mieux en mettant var devant.

Elodie
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
17 avril 2009 à 14:04
Bonjour,
You know what? I'm
happy...
il faut ce méfier des parents !...

D'une manière
générale il est quand même préférable de ne pas utiliser de mots réserés comme
nom de variable.
;O)
0
Rejoignez-nous