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

jQuery Discussion :

Simuler l'appui sur la touche entrée


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 10
    Par défaut Simuler l'appui sur la touche entrée
    Bonjour,

    J'essaye de faire une fonction qui écrit du texte dans un textarea, mais je n'arrive pas à envoyer le texte en appuyant sur "entrer"

    J'ai essayer de simuler la touche 13 du clavier sur mon textarea, mais sa ne fonctionne pas comme je fais.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script>
    var b = jQuery.Event("toucher");
    b.keypress = 13;
    $(document).on("toucher", function(event){
        var nomTouche = event.keypress;
        console.log('Évenement keypress : ' + nomTouche);
    });
    $("#ID_textarea").trigger(b);
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#test').trigger($.Event( "keypress", { which: 13 , keyCode: 13, key: 13 } ));
    Les deux différents codes si-dessus ne font rien ...

    Si une personne à déjà simuler une entrée clavier en js, je veux bien une explication

    Merci

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 208
    Par défaut
    Bonjour,
    pas sûr d'avoir bien compris ce que tu cherches à faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $("textarea").on("keypress", function(e) {
        if (e.keyCode === 13) {
            console.log("Touche entrée appuyée"); // action
        }
    });

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 10
    Par défaut
    Non, ton code détecte si on a appuyer sur entrée, moi je voudrais simuler la touche entrée.

    Pour simuler j'ai essayer de créer un Event, et ensuite de l'appliquer sur le textarea, mais il ne se passe rien

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Salut

    Peut être avec String.fromCharCode(13).
    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
    23
    24
    25
    26
    <!DOCTYPE html>
    <html lang="fr"> <!-- BaseModel.html -->
    	<head>
    		<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
    		<title>Ici mon titre</title>
    		<style>
                            /* TAGs comentaire dans la partie style */
                    </style>
    		<script>
                            'use strict'; // force la déclaration des variables
                            function model() {
                            }//----------------------fin de la function model -----------------------------------
                    </script>
    	</head>
    	<body>
    		<!-- la partie affichée sur la page -->
    		<textarea id="txtRep" style="width:50%;height:100px;">A que coucou</textarea>
    		<button onclick="AjouterEnter()">Go</button>
    		<script>
                            function AjouterEnter() {
                                    let Elem = document.getElementById("txtRep");
                                    Elem.value =  Elem.value + '    ......  pour un retour à la ligne ->' + String.fromCharCode(13) + 'Voilà qui est fait' ;
                            }
                    </script>
    	</body>
    </html>
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Billets dans le blog
    1
    Par défaut
    Que veux-tu faire exactement ? Ne serait-il pas plus simple de déclencher directement l'événement résultant de cet appui sur enter ?

    Si le but est d'envoyer le formulaire tu peux par exemple faire $('form').submit()

  6. #6
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Bonjour,

    Attention $('form').submit([handler]) sert à attacher un handler à l'événément submit. Je pense que vous vouliez dire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('form').trigger('submit');

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 208
    Par défaut
    Citation Envoyé par Erwan3110
    ... moi je voudrais simuler la touche entrée.
    J'ai répondu un peu vite par manque d'habitude dans la simulation

    Il faut utiliser les paramètres autorisés par la méthode trigger().
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $("textarea").trigger("keypress", {
      "enter": true,
      "keyCode": 13
    });
    et gérer cet argument supplémentaire lors de la gestion de l'événement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $("textarea").on("keypress", function(e, param) {
      if (param && param.keyCode === 13) {
        console.log("Simulation touche entrée appuyée"); // action
      }
    });

  8. #8
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 10
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    J'ai répondu un peu vite par manque d'habitude dans la simulation

    Il faut utiliser les paramètres autorisés par la méthode trigger().
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $("textarea").trigger("keypress", {
      "enter": true,
      "keyCode": 13
    });
    Oui, effectivement je veux simuler la touche 13. Mais quand j’exécute de code (en changent le "textarea" par #test, l'id de mon textarea) il ne sa passe absolument rien.

    Je fais portant un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#test').val("du texte");
    et cela fonctionne bien.

    Je ne comprend vraiment pas pourquoi les events ne fonctionnent pas

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 10
    Par défaut
    Nom : Capture11.PNG
Affichages : 3168
Taille : 38,1 Ko

    Voila ce que j'ai fais, j'ai donc bien le message dans la console, mais le textarea n'envoie pas les données ...

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/02/2007, 09h30
  2. Réponses: 2
    Dernier message: 02/01/2007, 12h47
  3. [D7] Simuler l'appui sur la touche VERR MAJ ??
    Par fredfred dans le forum Delphi
    Réponses: 8
    Dernier message: 14/06/2006, 14h23
  4. [Javascript] appui sur la touche entrée dans une textbox
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 02/01/2006, 11h19
  5. Simuler l'appui sur une touche, au niveau système
    Par debutant java dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 13/08/2004, 12h51

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