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 :

Ajouter une fonction de test à une TEXTAREA


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2019
    Messages : 2
    Par défaut Ajouter une fonction de test à une TEXTAREA
    Bonjour, J'ai effectué pas mal de recherche dans le forum sans trouver le sujet, je me permet donc de créer ce post pour vous poser ma question.

    Je suis sur un site wordpress qui a le thème divi.
    Sur une page, j'utilise un module formulaire de contact.
    dans ce formulaire de contact, j'y pose un textaera qui a son propre ID.

    Je voudrais limiter le nombre de caractère que peut rentrer l'utilisateur, et ça je ne peut pas le faire nativement dans le module formulaire.
    Je dois voir recours au Jquery pour rajouter un onkeyup="textLimit(this, 300)" à ma balise Textarea. Une fois que cet attribu est présent, je peux alors effectuer compter le nombre de caractère entrée par le visiteur

    En javascript la fonction serait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function textLimit(field, maxlen) {
       if (field.value.length > maxlen) {
          field.value = field.value.substring(0, maxlen);
          alert('Votre texte est trop long!');
       }
    }
    Qu'il faudrait aussi traduire en JQurey.

    Est-ce qu'une personne aurait la gentillesse de m'aiguiller?
    D'avance merci

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 513
    Par défaut
    Salut,

    Essaies ça :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <textarea id="test"></textarea>
    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
     
    function textLimit(field, maxlen) {
       if (field.value.length >= maxlen) {
           field.value = field.value.substring(0, maxlen);
           alert('Text trop long...');
        }
      return field.value.length <= maxlen;
    }
    $(document).ready(function(){
     
       $('#test').on('keypress', function(){
       	return textLimit(this,300);
       });
     
    });

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2019
    Messages : 2
    Par défaut
    Salut, merci pour ta réponse. J'obtiens un message d'erreur dans la console:

    Uncaught TypeError: $ is not a function
    l'erreur pointe sur cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(document).ready(function(){
    du coup je me suis demandé si ce ne serait pas plus simple pour moi de déclarer ma fonction en javascript J'ai adapté ton code et en finalité j'ai ceci:

    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
    function textLimit(field, maxlen) {
       if (field.value.length >= maxlen) {
           field.value = field.value.substring(0, maxlen);
           alert('Text trop long...');
           return false;
      }
      return true;
    }
     
      const limite = function(){
         document.getElementById('et_pb_contact_message_0').onkeypress = function(){
         return textLimit(this,300);
       };
      }
     
    window.onload = limite;
    Avec ce code plus de problème, c'est donc lui que je vais utiliser.
    Va falloir vraiment que je mette au Jquery de manière plus approfondie, en tout cas un grand merci, je suis sorti d'affaire sur ce point

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 513
    Par défaut
    Oui, c'est vrai que dans ce cas jQuery ne te sert pas vraiment à grand chose.

    Concernant l'erreur, c'est normal parce que tu n'as pas charger la bibliothèque jQuery au début de la page qui contient le script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <script
      src="https://code.jquery.com/jquery-3.4.1.js"
      integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
      crossorigin="anonymous"></script>

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/02/2010, 06h36
  2. Ajouter une fonction de tri
    Par rafmos dans le forum C++
    Réponses: 3
    Dernier message: 10/09/2007, 17h46
  3. Probleme dans une fonction de test
    Par blondelle dans le forum C++Builder
    Réponses: 6
    Dernier message: 25/01/2007, 19h07
  4. Réponses: 6
    Dernier message: 08/01/2007, 14h13
  5. [fonction MySQL] test d'une expression
    Par spilliaert dans le forum Débuter
    Réponses: 5
    Dernier message: 05/01/2006, 12h36

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