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 :

simuler l'action TABINDEX avec la touche ENTER ?


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 142
    Points : 83
    Points
    83
    Par défaut simuler l'action TABINDEX avec la touche ENTER ?
    Bonjour,

    j'ai un bon de commande fait en PHP avec une centaine de <input text>
    j'ai un TABINDEX à chaque input pour aller plus vite dans la navigation.

    maintenant via une fonction javascript, j'ai désactivé la touche ENTER pour ne pas soumettre le formulaire.

    maintenant est-ce possible en javascript de simuler la même action en appuyant sur ENTER que la touche TABULATION ?

  2. #2
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Pardon d'abord de ne pas répondre à ta question directement.

    Juste cette remarque : pourquoi investir autant d'efforts à modifier les mécanismes les plus standard sur le web, dont le fonctionnement inattendu va probablement perturber les utilisateurs et les faire râler ? ? Quel est le bénéfice que tu attends de cette fonctionnalité, qui justifie un tel sacrifice ? S'il y a une contrainte que tu ne maitrises pas dans le contexte du projet (volonté du client/patron/autre casse-c***), à la limite, ça peut se comprendre. Si ce n'est pas le cas, je crois que tu es en train de chercher à inventer le fusil à se tirer dans le pied.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 142
    Points : 83
    Points
    83
    Par défaut
    merci de ta réponse...

    tout d'abord par simplicité pour utiliser ce que je suis en train de faire, et deuxièmement éviter d'avoir un problème qui arrivera tot ou tard, c'est à dire l'utilisateur appuyera par reflex sur la touche ENTER...

    j'ai un bon de commande avec plusieurs onglets, et dans chaque onglet il y a plus ou moins 80 champs de remplissage.

    soit quand on est dans le 1er champ et on veut avancer plus vite, on appuie sur TAB et ca marche, soit on entre la valeur et on appuierait sur ENTER pour passer au champ suivant..

    sachant que la plupart appuierait sur ENTER, je voulais éviter ce problème

    est-ce totalement inutile ?

  4. #4
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par tomguiss Voir le message
    est-ce totalement inutile ?
    La désactivation du submit par la touche ENTER est tout-à-fait justifiable pour un long formulaire, je suis entièrement de ton avis

    Ce qui me semblait plus étrange, c'est de désactiver l'effet de la touche TAB et de réaffecter le mécanisme qui y est d'habitude associé à une autre touche (en l'occurrence, ENTER justement, pour un peu plus de confusion...)

    Je pense aux utilisateurs qui vont essayer de passer au champ suivant, essaieront avec TAB, sans succès, et qui ne supposeront pas forcément que l'action qu'ils recherchent se cache derrière la touche ENTER ^^

    Cela dit, ce n'était qu'une mise en garde, je ne pense pas que le résultat de ce que tu cherches à faire soit *très* mauvais en terme d'ergonomie, je signalais juste un danger de confusion

    Mais au fait : qui sont ces utilisateurs* tellement méchants qu'on les a punis en leur infligeant un formulaire digne du pire cauchemar bureaucratique... plusieurs onglets de plus de 80 champs ? oh mon dieu...

    * puisque tu parles de bon de commande ce doit être des clients je suppose ^^ sacrément motivés... !

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 142
    Points : 83
    Points
    83
    Par défaut
    oui je sais mais bon... je suis les directives de ce qu'on me demande, même si je ne suis pas d'accord à 100%

    je fais un bon de commande de produits de beauté pour estéticienne, représentants et importateurs, et ils ne veulent pas encoder la référence produit et la quantité, mais uniquement la quantité voulue, et comme en général la touche ENTER est à coté du clavier numérique, ca fait un petit gain de temps...

    je n'ai pas désactivé l'effet de la touche TAB, mais juste avoir le même résultat avec la touche ENTER

    en bidulant je suis arrivé à ce que je voulais, donc passer au champ suivant et au dernier "input" il soumet le formulaire, mais d'autres problèmes arrivent alors que cela marchait avant !

  6. #6
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par tomguiss Voir le message
    je n'ai pas désactivé l'effet de la touche TAB, mais juste avoir le même résultat avec la touche ENTER
    Ah là nous sommes d'accord je ne vois plus de problème, mais ce n'est pas ce que j'avais compris au départ...
    Citation Envoyé par tomguiss Voir le message
    oui je sais mais bon... je suis les directives de ce qu'on me demande, même si je ne suis pas d'accord à 100%
    Hu hu ne t'inquiete pas on en est tous là, vraiment... C'est même un prérequis pour faire ce métier : être pret à produire des outils commandés par des non-techniciens pour des non-techniciens... acceptons-le de bonne grâce comme un postulat

    Citation Envoyé par tomguiss Voir le message
    d'autres problèmes arrivent alors que cela marchait avant !
    Un petit bout de code à nous mettre sous la dent éventuellement ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 142
    Points : 83
    Points
    83
    Par défaut
    j'ai rechangé totalement, en désactivant totalement la touche ENTER pour le formulaire, et j'ai réussi à persuader le client d'utiliser uniquement la touche TAB.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 159
    Points : 91
    Points
    91
    Par défaut
    Salut,

    Je suis dans le même cas que toi, c'est à dire que j'ai un formulaire, qui pour ça version javascript est soumis via ajax.

    Du coup, les ENTER qui valide le formulaires sont totalement contre-intuitifs.

    Et j'en suis arrivé, par moi-même (pas par un quelconque client), à me dire que le remplacement du fonctionnement de la touche ENTREE par celui de la touche TAB était un bon choix.

    Premièrement, parce qu'en désactivant les fonctionnalités de ENTREE, on est vite frustré si rien ne se passe.

    Deuxièmement, pour ceux qui ont l'habitude d'utiliser Excel ou un autre tableur, le fonctionnement de ENTREE est le même que celui de TAB. D'où on ne risque pas de troubler grand monde.

    Pour faire un truc dans le genre, je me demande si on ne peut pas simplement changer le keycode de l'event attrapé. Genre si le keycode est celui de la touche entrée, on le remplace par le keycode de TAB et on le laisse filer.

    J'essayerais ça et je vous en dirais des nouvelles !

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 142
    Points : 83
    Points
    83
    Par défaut
    finalement j'ai opté pour désactiver totalement la touche ENTER pour l'utilisation de mon bon de commande, finalement c'est plus simple ainsi.

    fonction JS utilisée :

    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
     
    <script language="JavaScript">
     
    function disableEnterKey(e) 
    { 
     var key; 
     if (window.event) 
     { 
     key = window.event.keyCode; // 
     }
     else 
     {
      key = e.which; //firefox
     }
     return (key != 13); 
    } 
     
    </script>
    et ceci dans la balise <body> :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    OnKeyPress="return disableEnterKey(event)

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Salut,

    Moi j'ai une solution sans Javascript pour désactiver l'envoi de formulaire avec la touche RETURN ou ENTER...

    Je remplace le INPUT type=submit par un INPUT type=button

    devyan

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

Discussions similaires

  1. envoi de message avec la touche "enter"
    Par viny dans le forum Flash
    Réponses: 5
    Dernier message: 04/02/2007, 09h31
  2. Parcourir des champs texte avec la touche Enter.
    Par Amauryw dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/12/2006, 15h54
  3. Réponses: 4
    Dernier message: 30/08/2006, 17h15
  4. Executer un script avec la touche "Enter"
    Par Bruno2000 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/05/2006, 16h53
  5. [JTextField] Déclencher une action avec la touche ENTER
    Par tchoukapi dans le forum Composants
    Réponses: 10
    Dernier message: 19/09/2005, 14h37

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