Données du formulaire effacées lors du submit [Résolu]

Signaler
Messages postés
65
Date d'inscription
jeudi 17 mars 2011
Statut
Membre
Dernière intervention
17 mars 2011
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
Bonjour,

j'ai créé un formulaire auquel j'ai associé un script de validation pour vérifier l'encodage correct des différents champs, le script fonctionne bien, lorsque je soumets le formulaire, les différentes fautes sont signalées mais ce qui me dérange c'est que tous les champs sont remis à zéro même ceux qui étaient corrects ! J'ai un bouton reset pour effacer les champs mais je ne comprends pas pourquoi au onsubmit le formulaire est réinitialisé (même quand tous les champs sont corrects!)

Merci d'avance !!

6 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
16
Peut être un truc dans ce goût là...





//-------------------
function validation(){
  var Code =  0;
  var email = document.formulaire.email.value;
  var email2 = document.formulaire.email2.value;
  var liste = document.formulaire.liste.value;
  var choix = document.formulaire.choix.value;
  var verifMail = email.indexOf("@");
  var verifMail2 = email.indexOf(".");
    
  if (email==''){
    document.getElementById("emailAnswer").innerHTML=" PAs bon ! ";
    Code ++;
  }
  if (email2 ==''){
    alert("Veuillez répéter votre adresse email !");
    Code ++;
  }

  if (liste=''){
    alert("Veuillez choisir une question");
    Code ++;
  }

  if (choix==''){
    alert("Veuillez répondre à la question !");
    Code ++;
  }

  if (email!=email2){
    alert("Les mails ne correspondent pas !");
    Code ++;
  }

  if (verifMail==-1||verifMail2==-1){
    alert("Votre adresse mail est incorrecte");
    Code ++;
  }

  return( Code == 0);
}



Il y a surement moyen de faire nettement plus propre mais c'est surtout pour l'exemple...
;0)
Messages postés
224
Date d'inscription
lundi 19 décembre 2005
Statut
Membre
Dernière intervention
6 juin 2007
3
Salut

Je ne sais pas si tu penses que l'on va pouvoir te répondre si tu nous donnes pas ton code exact... ou plutot les extraits de code qui posent problèmes ( le formulaire html et la fonction de vérification js )...

Ca parrait pourtant logique que sans le code... ben on peut rien faire...

-- The Rubik's Man --
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
35
Bonjour,
   bien entendu, rubicks a totalement raison !
   ( ça va sans dire... donc il vaut mieux l'écrire )
   précisons que si le formulaire est envoyé, il l'est vers quoi ?
   un script php ? c'est donc à lui de remettre les valeurs
      des champs saisis, sinon ils seront "vierges"

   ch'tit exemple ( brut de fonderie... ) :

   <form ... method="post" action="..." ...
      " ... />
      ...

<hr />
            Cordialement       Bul    [mon Site]    [M'écrire]
<hr />
Messages postés
65
Date d'inscription
jeudi 17 mars 2011
Statut
Membre
Dernière intervention
17 mars 2011

Voici mes codes :

function confirmation()
{
    return confirm("Voulez-vous réinitialiser le formulaire ?");
}

function validation()
{
    var email = document.formulaire.email.value;
    var email2 = document.formulaire.email2.value;
    var liste = document.formulaire.liste.value;
    var choix = document.formulaire.choix.value;
    var verifMail = email.indexOf("@");
    var verifMail2 = email.indexOf(".");
   
    if (email=='')
    document.getElementById("emailAnswer").innerHTML=" PAs bon ! ";
    if (email2 =='')
    alert("Veuillez répéter votre adresse email !");
    if (liste='')
    alert("Veuillez choisir une question");
    if (choix=='')
    alert("Veuillez répondre à la question !");
    if (email!=email2)
    alert("Les mails ne correspondent pas !");
    if (verifMail==-1||verifMail2==-1)
    alert("Votre adresse mail est incorrecte");
}

et l'html :

<form action="" method="get" name="formulaire" id="formulaire" onsubmit="return validation();" onreset="return confirmation();">
<label>Introduisez votre adresse e-mail :</label>

<label>Vérification de l'email :</label>

<label><select name="liste" id="liste">
  <option value="soeur">Quel est l'âge de votre soeur ?</option>
  <option value="pere">Quel est l' âge de votre père ?</option>
  <option value="mere">Quel est l' âge de votre mère</option>
</select></label>

</form>
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
16
B
onjour...
Aucune valeur false n'est retournée par la fonction validation si une erreur est detectée...
;0)
Messages postés
65
Date d'inscription
jeudi 17 mars 2011
Statut
Membre
Dernière intervention
17 mars 2011

et quoi je dois mettre return false; à chaque condition ? ou bien en fin de fonction ?