Données du formulaire effacées lors du submit

Résolu
way2web Messages postés 65 Date d'inscription jeudi 17 mars 2011 Statut Membre Dernière intervention 17 mars 2011 - 10 janv. 2007 à 12:45
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 10 janv. 2007 à 22:44
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

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
10 janv. 2007 à 22:44
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)
3
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
10 janv. 2007 à 14:41
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 --
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
10 janv. 2007 à 15:04
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 />
0
way2web Messages postés 65 Date d'inscription jeudi 17 mars 2011 Statut Membre Dernière intervention 17 mars 2011
10 janv. 2007 à 19:33
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>
0

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

Posez votre question
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
10 janv. 2007 à 20:29
B
onjour...
Aucune valeur false n'est retournée par la fonction validation si une erreur est detectée...
;0)
0
way2web Messages postés 65 Date d'inscription jeudi 17 mars 2011 Statut Membre Dernière intervention 17 mars 2011
10 janv. 2007 à 22:24
et quoi je dois mettre return false; à chaque condition ? ou bien en fin de fonction ?
0
Rejoignez-nous