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 :

onkeypress sur Chrome ?


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2
    Points : 2
    Points
    2
    Par défaut onkeypress sur Chrome ?
    Bonjour,

    Je viens à vous parce que j'ai un petit problème que je n'arrive pas à résoudre, malgré la journée complète d'hier à fouiller les forums et le web.

    J'ai un formulaire sur une page, et je voudrais désactiver le submit par la touche Entrée. J'ai trouvé quelque part sur le web la solution : onkeypress sur chaque input, pour appeler cette fonction (copiée telle quelle de ma source) :

    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
    function refuserToucheEntree(event)
    {
        // Compatibilité IE / Firefox
        if(!event && window.event) {
            event = window.event;
        }
        // IE
        if(event.keyCode == 13) {
            event.returnValue = false;
            event.cancelBubble = true;
        }
        // DOM
        if(event.which == 13) {
            event.preventDefault();
            event.stopPropagation();
        }
    }
    Cette fonction marche parfaitement bien sur IE, Firefox et Opera, mais pas sur Chrome (je n'ai pas encore pu tester sur Safari). En rajoutant un alert() au début de ma fonction, je me rends compte qu'elle n'y est pas du tout appelée, c'est donc le onkeypress qui ne fonctionne pas. J'ai essayé en remplaçant onkeypress par onkeydown et onkeyup, et n'ai constaté aucun changement.

    Je précise que je suis un étudiant en stage, et que je n'ai jamais fait de web à l'école (un tout petit peu d'HTML et un soupçon de PHP, en fait) ; j'ai écrit mon tout premier script Javascript il y a quelques semaines, en créant le site qu'on m'a demandé.

    Est-ce le fonctionnement normal de Chrome, un bug de mon côté ou du côté du navigateur ? Y a-t-il une solution ?

    Merci d'avance.

  2. #2
    Membre émérite
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Points : 2 778
    Points
    2 778
    Par défaut
    Bonjour,
    désactiver le submit par la touche Entrée
    As-tu envisagé de ne pas mettre de bouton submit mais un bouton "normal" à la place ? Ainsi, il n'y aura pas de soumission lors de l'utilisation de la touche "entrée" dans des champs du formulaire.

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse.

    Je suis en train d'essayer ça. Le problème est que je ne sais pas comment faire le submit au clic de ce bouton. Je viens de lire qu'on pouvait passer par JS, mais qu'on pouvait aussi le faire sans. J'ai essayé sans, et ça ne fonctionne pas, j'ai sans doute oublié quelque chose.

    Dans le doute, peut-être peux-tu me dire si l'une des deux méthode est préférable (hormis le fait que le JS peut être désactivé, car de toute façon, s'il est désactivé mon site ne fonctionne pas) ?

    Merci.

    Edit : J'ai essayé en faisant <button .../>, et le résultat est le même qu'avec le type="submit" quelque soit ce qui remplace les "...", puis avec <input type="button" onclick="fonction()">, mais fonction() n'est jamais appelée, ni par la touche entrée, ni par clic. Je ne sais donc pas comment faire.

    Edit 2 : En fait c'est bon, en appelant directement submit() dans la balise submit type="button", ça marche comme je veux. Merci beaucoup.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/07/2009, 04h50
  2. Réponses: 8
    Dernier message: 19/05/2009, 17h04
  3. onkeypress sur une colonne specifie
    Par khier dans le forum Bases de données
    Réponses: 1
    Dernier message: 29/09/2008, 10h34
  4. onkeypress sur prompt ????
    Par heider dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/04/2006, 10h32
  5. onKeyPress sur les flèches du clavier
    Par trepidelhia dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 10/01/2006, 18h42

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