begin process at 2012 05 29 21:36:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Problème de teste de formulaire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de teste de formulaire

mardi 4 septembre 2007 à 14:12:20 | Problème de teste de formulaire

kaygee

Salut,

j'ai un petit problème avec mon form

J'ai dans une premier temps créer une fonction de teste d'email de confirmation

function verif_conf_mail()
{
if(document.getElementById("eMail").value!=document.getElementById("eMail_conf").value)
 {
 alert("les zones email et confirmation d'email doivent être identiques");
 document.getElementById("eMail_conf").value = '';
 return false;
 }
}

rien de compliqué

le problème est, ce formulaire est un form pré-rempli avec des variable get recu de la page précédente

la première fois que j'arrive sur la page et que je me trompe dans mon email, il m'affiche ma boite alert, mais ensuite continue vers la page suivante sans s'arreter.

j'ai un code a entrer dans le formulaire, celui ci testé sur la page suivante et me renvoi a mon form, si je me trompe

a ce moment la, il stop en cas d'erreur.

J'utilise IE7, je ne comprend pas pourquoi

 

pourriez vous m'aider?

mardi 4 septembre 2007 à 14:17:19 | Re : Problème de teste de formulaire

Zobibol

Membre Club
Salut, tu comprends pas pourquoi tu utilises ie7 ? ;o)
Bon, pour être plus sérieux, ta méthode est utilisée lors du submit du formulaire je présume ( sans code...) !
Il faut donc que sur le submit tu retourne false !

[o-_-o]
mardi 4 septembre 2007 à 14:27:21 | Re : Problème de teste de formulaire

kaygee

Voila pour être clair, mais ma fonction retourne un false en cas de non correspondance

<form method="post" action="MCmultiConf.asp" name="contact_form" id="contact_form" class="formu" onSubmit="verif_conf_mail();return  validateForm(this,'Error(s)');">

J'utilise IE parce que j'y suis bien obligé, sinon cette M.... microsofesque je m'en passe largement ;o)
mardi 4 septembre 2007 à 14:34:36 | Re : Problème de teste de formulaire

Zobibol

Membre Club
bah voilà, le truc c'est que même si ta méthode verif_conf_mail(); retourne faux, le submit ne le prendra pas en compte, mais prendra en compte le retour de validateForm(this,'Error(s)'); ( qui devrait du coup être à faux aussi ).
pourquoi ne pas intégrer la validation de l'email dans la méthode validateForm ?

[o-_-o]
mardi 4 septembre 2007 à 14:47:47 | Re : Problème de teste de formulaire

kaygee

c'est un code que je n'ai pas crée personnellement et donc pas toujours très clean et comme il est utilisé par pas mal de page, je n'ai pas le droit de le refaire pour le moment.

ceci me fait arriver au problème suivant avec le validateform qui lui teste si les champs sont vides ou non

je recois donc des variables en post que j'affiche automatiquement dans mes textbox, j'ai aussi un textbox code qui est testé sur la page suivante et si erreur me fait revenir a mon form.

au premier passage dans le form, si j'efface les informations placée automatiquement et que je vais un submit, il ne bloque, comme si mon textbox n'était pas vide, je n'y comprend rien du tout

/ Boucle de validation
function validateForm(form,title)
{
 
 
 var err=0;
 var msg='<fieldset id="error" class="vis"><legend>' + title + '</legend><ul>';
 return_validateInput = validateInput(document.getElementsByTagName("input"));
 err+=return_validateInput[0];
 msg+=return_validateInput[1];
 return_validateInput = validateInput(document.getElementsByTagName("select"));
 err+=return_validateInput[0];
 msg+=return_validateInput[1];
 validateInput(document.getElementsByTagName("textarea"));
 err+=return_validateInput[0];
 msg+=return_validateInput[1];
 
 if (err==0)
 { 
  return(true);  
 }
 else
 {
  msg+="</ul></fieldset>";
  document.getElementById("error").innerHTML=msg;
  return false;
 }
 
}
function validateInput(domElements)

 var validateInput_err=0; 
 var validateInput_msg='';
 for (i = 0; i < domElements.length; i++)
  {
   if (domElements[i].className=="oblig")
   {
    if (!(isNotEmpty(domElements[i])))
    {
    validateInput_err++;validateInput_msg+="<li>" + domElements[i].title + "</li>";
    }
   }
   if (domElements[i].name.substring(0,5)=="eMail")
   {
    if (!(isEMailAddr(domElements[i])))
    {
    validateInput_err++;validateInput_msg+="<li>" + domElements[i].title + "</li>";
    }
   }
   if (domElements[i].name.substring(0,4)=="nbre")
   {
    if (!(isNumber(domElements[i])))
    {
    validateInput_err++;validateInput_msg+="<li>" + domElements[i].title + "</li>";
    }
   }
  }
 return_validateInput = new Array();
 return_validateInput[0] = validateInput_err;
 return_validateInput[1] = validateInput_msg;
 return return_validateInput;
}
// Vérifie si un champ a bien été renseigne
function isNotEmpty(elem)

 var str = elem.value;
 var re = /.+/;
 if(!str.match(re))
 {
  setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
  return false;
    }
    else
    {
     return true;
    }
}
// Vérifie si l'adresse e-mail est valide
function isEMailAddr(elem)
{
 isNotEmpty(elem);
 var str = elem.value;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re))
    {
        //elem.form.error.className='vis';
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;
    }
    else
    {
        return true;
    }
}

//Vérifie si un champ ne contient que des chiffres
function isNumber(elem)
{
 isNotEmpty(elem);
 var str = elem.value;
    var re = /^[-]?\d*\.?\d*$/;
    str = str.toString();
    if (!str.match(re))
    {
        /*alert("Veuillez respecter le format de date de naissance suivant : '05031970' pour '5 mars 1970'.");*/
  //elem.form.error.className='vis';
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;
    }
    else
    {
    return true;
    }
}

// Vérifie si un champ contient 8 caractères
function isLen8(elem)
{
 var str = elem.value;
    var re = /\b.{8}\b/;
    if (!str.match(re))
    {
        elem.form.error.className='vis';
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;
    }
    else
    {
        return true;
    }
}

// Positionne le curseur dans un champ donné
function focusElement(formName, elemName)
{
 var elem = document.forms[formName].elements[elemName];
    elem.focus();
    //elem.select();
}

mardi 4 septembre 2007 à 15:10:32 | Re : Problème de teste de formulaire

bultez

Membre Club




>> tu comprends pas pourquoi tu utilises ie7 ? ;o)
    excellent zobibol ! Plaisante.gif

>>, sinon cette M.... microsofesque je m'en passe largement ;o)
    parce ce que tu fais fonctionne avec d'autres navigateurs ? Etonne.gif
    plutôt curieux... tu me dis lequel ?  

    la base :

    < form action... onsubmit="return(ctr());"... />
       ... champs de saisie...
       <input type="submit'"... />
    </form>

    <script....
       function ctr()
       {   contrôle de ce qu'on veut
             si erreur ==> return false;
             sinon : return true;
       }...


Cordialement                Bul         [mon Site]     [M'écrire]
En général, c'est absurde de généraliser.
mardi 4 septembre 2007 à 15:20:56 | Re : Problème de teste de formulaire

kaygee

Oui tout a fait, et je fais quoi a ton avis

de plus je n'ai pas dis que ce code fonctionnais sur ie7, j'ai dis que ie7 c'était de la merde de microsoft et que bien souvent un code fonctionne correctement sur d'autre browser
mardi 4 septembre 2007 à 15:33:38 | Re : Problème de teste de formulaire

bultez

Membre Club
bien souvent... peut-être.    mais le tien ?
>> et je fais quoi a ton avis
    pas comme je te montre ou comme zobibol t'a expliqué en tout cas.
mais bon... pour moi : plonk, comme on dirait ailleurs...


Cordialement                Bul         [mon Site]     [M'écrire]
En général, c'est absurde de généraliser.
mardi 4 septembre 2007 à 15:39:17 | Re : Problème de teste de formulaire

Zobibol

Membre Club
Moi d'après ce que je ne comprends plus ( m'a cassé la tête ),  je ferais :
function validateForm(form,title)
{
    // Test l'email en premier
if(document.getElementById("eMail").value!=document.getElementById("eMail_conf").value)
 {
 alert("les zones email et confirmation d'email doivent être identiques");
 document.getElementById("eMail_conf").value = '';
 return false;
 }
 // puis les autres test....
var err=0;
 var msg='<fieldset id="error" class="vis"><legend>' + title + '</legend><ul>';
 return_validateInput = validateInput(document.getElementsByTagName("input"));
 err+=return_validateInput[0];
 msg+=return_validateInput[1];
 return_validateInput = validateInput(document.getElementsByTagName("select"));
 err+=return_validateInput[0];
 msg+=return_validateInput[1];
 validateInput(document.getElementsByTagName("textarea"));
 err+=return_validateInput[0];
 msg+=return_validateInput[1];
 
 if (err==0)
 { 
  return(true);  
 }
 else
 {
  msg+="</ul></fieldset>";
  document.getElementById("error").innerHTML=msg;
  return false;
 }

et je supprimerais le verif_conf_mail() du submit :
    onsubmit="validateForm(this,'Error(s)');"
Non ?
[o-_-o]
mardi 4 septembre 2007 à 15:40:40 | Re : Problème de teste de formulaire

kaygee

Mon problème est que mon code fonctionne lors du dernier passage mais pas lors du premier, il retourne bien mon false pour l'email donc pas de souci, mais il refuse de tester si mon champs est vide ou non, hors si a l'encodage de mon compte une erreur se produit, il revient sur le form et la le test fonctionne

1 2

Cette discussion est classée dans : problème, page, formulaire, email, teste


Répondre à ce message

Sujets en rapport avec ce message

problème submit un formulaire en java... [ par Jin ] Bonjour,l'action sur le bouton "envoyer" doit appeler la fonction toto() qui elle doit poster ce formulaire (et les données * b * l ...) à la page asp Problème d'affichage d'un formulaire [ par alain21 ] Bonjour.Je possède un formulaire à insérer dans une page HTML pour un petit sondage. En utilisant Internet Explorer pour l'ouverture de la page,  le r Problème d'actualisation champ formulaire [ par telcha73 ] bonjour, J'ai créer un petit formulaire d'inscription newsletter. <input name="email" type="text" class="imagegauche" value="Entrez votre email i problème sur ma page d'accueil. [ par mlies ] Hello, bon ben je n'ai pas de réponse sur mon précédent message... du coup je re-poste... Si quelqu'un peu me donner un coup de main la dessus, ça se formulaire créant lien vers fichiers existants coté client [ par paralaile ] Bonjour, le programme d'un congrès s'affiche dans une page web vue par tout l'auditoire grâce à un vidéo projecteur. Sur cette page s'affiche donc les Problème lien vers une iframe extérieure [ par estebuan ] Bonjour à tous, Je suis en train de refaire le site web de mon entreprise, (le site datait d'il y a 10 ans). J'ai donc tout refait en utilisant le Problème avec formulaire [ par cdoliv ] Bonjour, Je "séche" depuis un moment et personne pour m'aider ? J'explique : J'ai deux champs d'un formulaire (je suis en php/html) : un champ "text verification formulaires [ par djbabou ] Bonjour a tous. depuis ce matin, j'ai remarqué un petit souci de programmation dans mes formulaires. Ils sont faits en php, par contre, j'utilise un Problème de RegEx [ par neigedhiver ] Salut, J'ai une fonction pour tester la validité de la syntaxe d'une adresse email qui vient pour l'essentiel d'[url=http://www.regular-expressions.i Problème de script envoi/validation formulaire . [ par othx3 ] Bonjour à tous, je viens à vous car je pense que vous pourrez m'aider, j'ai comme le dit le titre du topic un Problème de script d'envoi ! Je ne comp


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales