Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
832 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Pb javascript et formulaire avec validation par touche entrée

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pb javascript et formulaire avec validation par touche entrée

n°1932220
angelseb
Posté le 15-10-2009 à 20:26:35  profilanswer
 

Lorsque l'utilisateur veut lancer une recherche, je vérifie si le champ de saisie est vide et aussi sa manière de valider : soit en cliquant sur le bouton "recherche", soit en validant par la touche "entrée".
 
Après que l'utilisateur effectue une recherche avec un mot clé (trouvé ou non trouvé) la 1ère fois, s'il essaie de valider le champ de saisi VIDE en validant la touche entrée (et non en cliquant sur le bouton recherche), il y a bien un message d'erreur MAIS la page est rechargée! Pour l'instant, j'ai fais une petite vérification en PHP pour déterminer si le champ est vide, donc l'utilisateur obtient le message "Veuillez indiquer votre recherche." sur la page.  
 
Ma question est : pourquoi la page est-elle rechargée en validant par la touche entrée alors que le champ est vide? Devrais-je interdire complètement l'utilisation de la touche entrée? (un peu trop simple à mon goût!)
 
Voici mon code simplifié :

Code :
  1. <script type="text/javascript">
  2. <!--
  3. function controle()
  4. {
  5. if(document.formrecherche.saisi.value!='')
  6. {
  7.   document.formrecherche.action = "index-recherche.html";
  8.   document.formrecherche.submit();
  9. }
  10. else
  11. {
  12.   alert("marche pas!" );
  13. }
  14. }
  15. -->
  16. </script>
  17. </head>
  18. <body>
  19. <form name="formrecherche" method="post">
  20. <input name="saisi" id="saisi" type="text" size="30" onKeyPress="if(event.keyCode == 13) controle();"/>
  21. <input class="bouton" type="button" name="test" value="Rechercher" onClick="controle();"></form>
  22. </body>
  23. </html>


 
Je vous remercie d'avance!

Message cité 1 fois
Message édité par angelseb le 16-10-2009 à 10:46:18
mood
Publicité
Posté le 15-10-2009 à 20:26:35  profilanswer
 

n°1932268
gatsu35
Blablaté par Harko
Posté le 15-10-2009 à 23:29:01  profilanswer
 

angelseb a écrit :

Sur le site que je suis en train de développer www.chezlafeealsacienne.fr, j'ai des soucis avec la recherche.

 

Lorsque l'utilisateur veut lancer une recherche, je vérifie si le champ de saisie est vide et aussi sa manière de valider : soit en cliquant sur le bouton "recherche", soit en validant par la touche "entrée".

 

Après que l'utilisateur effectue une recherche avec un mot clé (trouvé ou non trouvé) la 1ère fois, s'il essaie de valider le champ de saisi VIDE en validant la touche entrée (et non en cliquant sur le bouton recherche), il y a bien un message d'erreur MAIS la page est rechargée! Pour l'instant, j'ai fais une petite vérification en PHP pour déterminer si le champ est vide, donc l'utilisateur obtient le message "Veuillez indiquer votre recherche." sur la page.

 

Ma question est : pourquoi la page est-elle rechargée en validant par la touche entrée alors que le champ est vide? Devrais-je interdire complètement l'utilisation de la touche entrée? (un peu trop simple à mon goût!)

 

Voici mon code simplifié :

Code :
  1. <script type="text/javascript">
  2. <!--
  3. function controle()
  4. {
  5. if(document.formrecherche.saisi.value!='')
  6. {
  7.   document.formrecherche.action = "index-recherche.html";
  8.   document.formrecherche.submit();
  9. }
  10. else
  11. {
  12.   alert("marche pas!" );
  13. }
  14. }
  15. -->
  16. </script>
  17. </head>
  18. <body>
  19. <form name="formrecherche" method="post">
  20. <input name="saisi" id="saisi" type="text" size="30" onKeyPress="if(event.keyCode == 13) controle();"/>
  21. <input class="bouton" type="button" name="test" value="Rechercher" onClick="controle();"></form>
  22. </body>
  23. </html>
 

Je vous remercie d'avance!


ta façon de faire est juste la plus dégueulasse qui soit

 
Code :
  1. <script type="text/javascript">
  2. <!--
  3. function controle(form)
  4. {
  5.  if(form.saisi.value=='') {
  6.  alert("marche pas!" );
  7.  return false;
  8.  }
  9.  return true
  10. }
  11. -->
  12. </script>
  13. </head>
  14. <body>
  15. <form method="post" action="index-recherche.html" onsubmit="return controle(this);">
  16. <input name="saisi" id="saisi" type="text" size="30"/>
  17. <input class="bouton" type="submit" name="test" value="Rechercher">
  18. </form>
  19. </body>
  20. </html>
 

Qu'est ce que j'ai fait ?
J'ai mis le type="submit" sur le bouton, car dès que tu fais "Entrée" sur un input et que ton formulaire possède un submit, ça éxécute le formulaire.
Ensuite j'ai viré tous tes JS à la con, sur le onsumit du formulaire je retourne true ou false, si je retourne false, le formulaire ne sera pas envoyé, si je retourne true, il le sera.
Donc la fonction controle elle retournera true ou false selon la valeur contenue dans 'saisi'


Message édité par gatsu35 le 15-10-2009 à 23:31:23

---------------
Blablaté par Harko
n°1932332
angelseb
Posté le 16-10-2009 à 10:45:21  profilanswer
 

Je te remercie pour ton aide...
 
Sauf que j'aurai préféré éviter tes remarques "à la con" même si tu as raison. Voilà pourquoi j'évite de demander sur les forums de l'aide car la plupart des gens ne peuvent pas s'emêcher d'être désagréable.
 
C'est pas difficile pourtant d'expliquer gentiment, en disant d'éviter d'utiliser des javascript à tout va, non? Bref...
 

n°1932406
gatsu35
Blablaté par Harko
Posté le 16-10-2009 à 11:53:46  profilanswer
 

angelseb a écrit :

Je te remercie pour ton aide...
 
Sauf que j'aurai préféré éviter tes remarques "à la con" même si tu as raison. Voilà pourquoi j'évite de demander sur les forums de l'aide car la plupart des gens ne peuvent pas s'emêcher d'être désagréable.
 
C'est pas difficile pourtant d'expliquer gentiment, en disant d'éviter d'utiliser des javascript à tout va, non? Bref...
 


Si je suis si directe c'est que tout le code, du HTML au Javascript n'était pas du tout la bonne façon de faire.
Après oui je suis un grand méchant et je fais des remarques qui ne sont pas con, mais directes.
Et si ça te fait mal au cul de prendre des remarques quand tu vas sur les forums ben n'y vas pas.
 
Avant j'étais mauvais, je me suis pris de belles claques et des remarques encore plus méchantes, du genre : "c'est de la vraie merde ce que tu as fait"
j'ai demandé pourquoi, on m'a expliqué et j'ai tout de suite compris et au fur et à mesure mon code est devenu clean.
 
C'est en se prenant des remarques de merde qu'on avance :o
 
sinon tu vas sur alsacréations tu n'auras pas ce genre de remarques


---------------
Blablaté par Harko
n°1932410
angelseb
Posté le 16-10-2009 à 11:59:29  profilanswer
 

gatsu35 a écrit :


Si je suis si directe c'est que tout le code, du HTML au Javascript n'était pas du tout la bonne façon de faire.
Après oui je suis un grand méchant et je fais des remarques qui ne sont pas con, mais directes.
Et si ça te fait mal au cul de prendre des remarques quand tu vas sur les forums ben n'y vas pas.
 
Avant j'étais mauvais, je me suis pris de belles claques et des remarques encore plus méchantes, du genre : "c'est de la vraie merde ce que tu as fait"
j'ai demandé pourquoi, on m'a expliqué et j'ai tout de suite compris et au fur et à mesure mon code est devenu clean.
 
C'est en se prenant des remarques de merde qu'on avance :o
 
sinon tu vas sur alsacréations tu n'auras pas ce genre de remarques


 
N'importe quoi. Bravo la mentalité. C'est pas parce qu'on t'a déjà dis que t'as fais de la merde (et tout le monde en a fait un jour ou l'autre) qu'il faut se gêner pour le dire.
 
C'est PAS en se prenant des remarques de MERDE qu'on avance, c'est en se faisant expliquer par a+b qu'on avance, GROSSE nuance.
 
La prochaine fois, passe ton chemin plutôt que de critiquer.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Pb javascript et formulaire avec validation par touche entrée

 

Sujets relatifs
[resolu] Formulaire avec upload qui renomme mon fichierproblème formulaire envoie d'un get au lieu d'un post...
Adaptation d'un code Javascript[Javascript] Aide pour adapter un script - [Résolu]
Pb de finalisation d un batch de renomage massifPb d'affichage d'un site sous IE6
Problème de headers dans formulaire traité en phpPb avec les paths des includes et require
[PHP] Problème de validation de schéma XSDPB avec le lien sur 1 Bouton Image
Plus de sujets relatifs à : Pb javascript et formulaire avec validation par touche entrée


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR