IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Interdiction de rechargement de la page après un submit


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 48
    Points : 47
    Points
    47
    Par défaut Interdiction de rechargement de la page après un submit
    Bonjour à tous,

    J'ai développé une page d'authentification avec un champ login et mot de passe et un boutton de type "submit" à l'interieur d'une form.

    Voici le code html ci-dessous :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <form id="form">
    	    <table background = "#FFFFFF">
    		<tr><td id = "resultatSideBar"></td></tr>
    		<tr>
    		     <td class = "table-titre" colspan = "2"> Authentification  </td>
    		</tr>
     
    		<tr>
    		     <td class = "table-titre"> Login  </td>
    		     <td class = "table-titre"><input type= "text" id = "login"><td>
    		</tr>
     
    		<tr>
    		     <td class = "table-titre"> Mot de passe  </td>
    		     <td class = "table-titre"><input type= "password" id = "password"><td>
    		</tr>
     
    		<tr>
    		     <td class = "table-titre" colspan = "2" align = "left"><input type = "submit" value = "Valider" onClick ="CheckAuthentification()" ></td>
    		</tr>
    	    </table>
    	</form>

    Ensuite, en fonction des informations saisies par l'utilisateur j'appelle une autre page où j’informe que les données saisies sont incorrectes :

    Voici le code javascript qui permet de faire cette verification :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function CheckAuthentification ()
          {
    	  var login =  calcMD5(document.getElementById("login").value);
    	  var password = calcMD5(document.getElementById("password").value);
     
    	  if ((login == i_login) && (password == i_password))
    	  {
    		  document.getElementById("form").action = "acceuil.html";
    		  return true;
    	  }
    	  else
    	  {
    		 document.getElementById("resultatSideBar").style.visibility = "visible";
    		 document.getElementById("resultatSideBar").style.display = "block";
    		 document.getElementById("resultatSideBar").style.backgroundColor="red";
    		 document.getElementById("resultatSideBar").innerHTML = "Erreur d'authentification";
    		 return false;
    	  }
          }
    Quelques soient les données saisies par le client (fausses ou correctes), la page est rechargé. c’est-à-dire quand les données sont fausses, la page est rechargée et se redirige vers elle même. et si les données sont correctes, la page est rechargé et se redirige vers une autre page.


    Le comportement que je veux produire c'est l'interdiction du rechargement de la page quand les données saisies par le client sont incorrectes.

    Merci d'avance pour vos réponses.

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Bonjour,

    Essaie plutôt qu'un onclick sur ton <input> de faire un onsubmit sur ton <form>:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form onsubmit="CheckAuthentification()"

    Ainsi que rajouter un event.preventDefault() dans checkAuthentification() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     
    function CheckAuthentification (event)
          {
    	  var login =  calcMD5(document.getElementById("login").value);
    	  var password = calcMD5(document.getElementById("password").value);
     
    	  if ((login == i_login) && (password == i_password))
    	  {
    		  document.getElementById("form").action = "acceuil.html";
    		  return true;
    	  }
    	  else
    	  {
    		 document.getElementById("resultatSideBar").style.visibility = "visible";
    		 document.getElementById("resultatSideBar").style.display = "block";
    		 document.getElementById("resultatSideBar").style.backgroundColor="red";
    		 document.getElementById("resultatSideBar").innerHTML = "Erreur d'authentification";
                     event.preventDefault();
    		 return false;
    	  }
          }

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 48
    Points : 47
    Points
    47
    Par défaut
    Malheureusement cela ne marche pas, et j'avais déjà essayé.

    L'origine de mon problème vient du fait que j'ai mis un <div> en dessous de la zone d'authentification qui affiche le statut de la man-oeuvre . Mais quand on saisie des mauvaise données. la zone de statut affiche un texte d'erreur et il s’écrase quand la page est rechargé et c'est ce que je voudrais justement éviter (écraser le message d'erreur).

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    il faut rajouter return au niveau du onsubmit ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form onsubmit="return CheckAuthentification()" ...

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 48
    Points : 47
    Points
    47
    Par défaut
    Bien joué encore une fois SpaceFrog, c'est résolu. Merci

    Merci aussi à SylvainPV

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Rechargement de la page après un PROMPT
    Par Zebulon777 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/10/2012, 14h44
  2. Rechargement de la page après l'affichage d'une popup
    Par hokidoki dans le forum ASP.NET
    Réponses: 4
    Dernier message: 23/02/2010, 16h12
  3. [PHP-JS] rechargement d'une page après validation
    Par illight dans le forum Langage
    Réponses: 7
    Dernier message: 16/05/2007, 12h55
  4. Rechargement d'une page après ouverture de deux popups
    Par petitmoosse dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/11/2005, 17h39
  5. [C#]rechargement page apres fermeture popup
    Par julio84 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 04/05/2005, 10h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo