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 :

Comment éviter que la touche "entrer" valide un formualire.


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de tavarlindar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 262
    Par défaut Comment éviter que la touche "entrer" valide un formualire.
    Bonjour,
    après plusieurs recherches sur ce site et le net et de nombreux tests, je n'arrive pas à empêcher la validation d'un formulaire lorsqu'on appuie sur la touche "entrer" .

    Voici la "gueule" type de mes formulaires :


    Je n'ai aucun submit. Seule les flèches droite et gauche devrait permettre de soumettre le formulaire.

    Voici la structure de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form name="reservation" id="reservation" METHOD='POST' ACTION="Reservation.php" onsubmit="return ValidationSaisie()">
    code ou apparait les choix pour soumettre le formualire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <div id="bloc_barre_haut_titreInterface_resa">Step 2 - Provider (resa# <? echo $id_reservation; ?>)</div>
    			<div id="bloc_barre_haut_boutons_resa">
    				<img style="display:block; float:right;"  src= "../images/hautarrondinoir4.png" />
     
    				<input style="display:block; float:right; margin-left:10px; margin-top:1px;" type="image" name="Etape2_vers_Etape3" src="../images/form_suiv.png" alt="Step 3" title="Step 3"/>
    				<input style="display:block; float:right; margin-top:1px;" type="image" name="Etape2_vers_Etape1" src="../images/form_prec.png" alt="Step 1" title="Step 1"/>
    			</div>
    la fonction ValidationSaisie() teste certaines conditions. renvoie false si champs mal remplit et true si tout est ok.

    Je ne vois pas comment faire. Lorsque je remplit un iput text et fait "entrer", mon formulaire est validé (si tout est ok par ailleurs). J'ai tenté de mettre dans ma fonction ValidationSaisie(), un test pour savoir si la touche entrer avait été activée, de renvoie false, mais cela n'a pas fonctionner.

    Par avance merci

  2. #2
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Un grand classique pourtant
    remplace l'input type sumbit par un bouton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" onclick="this.form.submit()" value="envoyer" />
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé Avatar de tavarlindar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 262
    Par défaut
    Bonjour SpaceFrog,
    as-tu bien lu mon post ?

    j'ai 2 images qui doivent valider mon form : type="image" name="Etape2_vers_Etape3"

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    tu as un input type image ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre éclairé Avatar de tavarlindar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 262
    Par défaut
    oui
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input style="display:block; float:right; margin-left:10px; margin-top:1px;" type="image" name="Etape2_vers_Etape3" src="../images/form_suiv.png" alt="Step 3" title="Step 3"/>
    ici j'en ai 2, mais parfois 4.

  6. #6
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    mets à la place un input type button avec une image en background
    l'input type image agit comme un submit et reagit à la touche enter
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre éclairé Avatar de tavarlindar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 262
    Par défaut
    et on fait cela comment ?

  8. #8
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    style="background-image:url('path.jgp')"
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre éclairé Avatar de tavarlindar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 262
    Par défaut
    hum, why not. mais tu n'as pas autre chose ?
    un code js qui renverait false si la touche "entrer" vient d'être utilisée ?

  10. #10
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    oui tu peux faire une usine à gaz pour surveiller l'appui sur la touche enter ...
    il doit d'ailleurs y'en en avoir une dizaine sur le forum ...
    alors qu'un simple bouton suffit comme parade et au moins couvre le cas ou js n'est pas activé ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    Membre éclairé Avatar de tavarlindar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 262
    Par défaut
    je suis d'accord avec toi, mais cela m'oblige à revoir le code d'au moins 70 formulaires, revoir la pagination, etc. De plus, js est obligatoire pour mon appli.

  12. #12
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    heu avec un EDI type notepad c'est fait en 30 secondes ...
    recherche remplace
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  13. #13
    Membre éclairé Avatar de tavarlindar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 262
    Par défaut
    j'ai testé en mettant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input style="display:block; float:right; margin-top:1px;background-image:url('/images/form_prec.png')" type="button" name="Etape3_vers_Etape2"  alt="Step 2" title="Step 2" onClick='ValidationSaisie()'/>
    mais cela fait bugger ma fonction ValidationSaisie . Bon ok, elle me cause des soucis cette fonction pour ce formulaire, mais bon, actuellement, le code fonctionne autrement. Là ça plante. (Pb posté hier).

    Donc je vais plutôt m'orienter vers une fonction qui détecter l'usage de la touche entrée.
    Sinon, ta logique est la solution.

  14. #14
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input style="display:block; float:right; margin-top:1px;background-image:url('/images/form_prec.png')" type="button" name="Etape3_vers_Etape2"  alt="Step 2" title="Step 2" onClick='if (ValidationSaisie()) this.form.submit()'/>

  15. #15
    Membre éclairé Avatar de tavarlindar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 262
    Par défaut
    je viens de lire ton post Matthieu2000, donc pas testé. Je vais le faire.

    Pour l'heure, j'ai mis dans mon code js et je suis heureux. Cela fonctionne parfaitement :
    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
     
    document.onkeypress = function(event) {
          var code = -1;
          if (!event) {
             event = window.event;
          }
          if (event.which) {
             code = event.which;
          } else if (event.keyCode) {
             code = event.keyCode;
          }
          if (code == 13) {
              return false;
          }
       }

  16. #16
    Membre éclairé Avatar de tavarlindar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 262
    Par défaut
    Bon, je viens de tester en mettant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input style="display:block; float:right; margin-top:1px;background-image:url('/images/form_prec.png')" type="button" name="Etape3_vers_Etape2"  alt="Step 2" title="Step 2" onClick='if (ValidationSaisie()) this.form.submit()'/>
    et cela génère un message d'erreur. Sans doute, une de mes fonctions js pose problème après validation. J'ai posté hier à ce sujet. Mais après au moins 80 heures de recherche, j'ai capitulé. Mon code marche chez les utilisateurs sous Firefefox, peut provoquer un message d'erreur sous IE, mais sans conséquence. Donc je laisse telle quel.

    et j'ai l'erreur suivante :

    num_fournisseur_utilise is null
    ValidationSaisie()Reservation.php (ligne 1200)
    onclick(click clientX=1238, clientY=125)%2BsqLsa...Wmw%3D%3D (ligne 2)
    [Break on this error] var valeur_num_fournisseur_utilise = num_fournisseur_utilise.value;

    Cela étant dit, la solution du bouton me parait la meilleure. Je ne sais pas pourquoi cela fait planter le reste. Incompréhensible.

    Merci encore à vous deux. C'est vraiment très sympa.

    Très grand bien à vous deux.

    Tavar

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

Discussions similaires

  1. [movie] Comment éviter que l'animation se répète
    Par pouette13 dans le forum MATLAB
    Réponses: 5
    Dernier message: 03/07/2007, 14h29
  2. Réponses: 3
    Dernier message: 05/11/2006, 20h57
  3. Comment éviter que google répete des mots qui sont dans la description du meta tag
    Par tese84 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/09/2006, 07h55

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