Donnez vie à vos documents numériques !
 

Limiter l’écriture avec des caractères qui comptent double dans un champ texte

abracadabraPDF Forums PDF – Général Limiter l’écriture avec des caractères qui comptent double dans un champ texte

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46183
    Maelie
    Membre

    Bonjour,

    Je viens vers vous car j’ai encore besoin d’aide sur une problématique.

    Voici ce que je souhaiterais faire :

    J’aimerais limiter dans un champ texte le nombre de caractères MAIS ce qu’il faut prendre en compte c’est que je voudrais faire comprendre au champ texte que certains caractères comptent double (comme le €, %, @…) et bloquer l’écriture quand le nombre maximum de caractère atteint 160.

    Est-ce possible ? Faut-il faire un script de format personnalisé ? Je suis un peu perdue et n’arrive pas a trouver de réponse.

    Merci par avance pour votre aide.

    Bonne journée

Affichage de 9 réponses de 1 à 9 (sur un total de 9)
  • Auteur
    Réponses
  • #66619
    bebarth
    Maître des clés

    bonsoir,
    En script de touches personnalisé :

    Code:
    var total=0;
    var lesLettres=event.value;
    for (var i=0; i    var laLettre=lesLettres.substr(i, 1);
        if (laLettre==”€” || laLettre==”%” || laLettre==”@”) {
            total+=2;
        } else {
            total++
        }
    }
    if (event.change==”€” || event.change==”%” || event.change==”@”) {
        total+=2;
    } else {
        total++;
    }
    if (total>event.target.charLimit) event.change=””;

    …et tu rajoutes tous les caractères qui comptent double !
    Pourquoi comptent-ils double d’ailleurs ???
    @+
    :bonjour:

    #66620
    Merlin
    Maître des clés

    Bravo bebarth !

    Mais pour plus de sécurité, à la place de : % € @ etc., j’utiliserais leur équivalent exprimé en Unicode.
    :Smiley03:

    #66621
    Merlin
    Maître des clés
    #66622
    bebarth
    Maître des clés

    Ce qui donne (2 fois) :

    Code:
    if (laLettre==”u20AC” || laLettre==”u0025″ || laLettre==”u0040″)

    @+
    :bonjour:

    #66623
    Maelie
    Membre

    Bonjour,

    Pas bête du tout pour Unicode, effectivement ca sera plus sur au vu de certains caractères !

    Je veux créer un PDF qui aide la demande de création de campagnes SMS et le système Adobe Campaign compte certains caractères comme double, donc on atteint plus rapidement les 160 caractères d’un SMS.

    Merci beaucoup pour votre réactivité et votre aide.

    Bonne journée  :soleil:

    #66624
    Merlin
    Maître des clés

    le système Adobe Campaign compte certains caractères comme double

    Ils sont malins les bougres !
    :jerisjaune:

    #66625
    Maelie
    Membre

    Bonjour,

    C’est top votre solution marche bien.
    Mais j’aimerai pousser un peu le truc et j’arrive pas à adapter le script.

    J’avais créé ce topic : http://abracadabrapdf.net/forum/index.php?topic=3811.msg23715#msg23715 , Générer un texte à partir de plusieurs champs.

    Ce que je souhaiterai réaliser c’est que lorsque je clique sur le bouton pour générer un texte, il analyse le texte qui va s’afficher et que si le texte atteint plus de 160 caractères (avec le système des caractères qui compte double) il m’affiche un message d’erreur comme quoi c’est trop long.

    Ci joint, un fichier avec ce que je souhaiterai faire (qui reprend les solutions que vous m’aviez apportés).

    Par exemple dans l’offre 2, nous avons un pourcentage, avec la ville d’Avignon comme exemple, nous avons 137 caractères. J’aimerai qu’il le compte comme 138 caractères. Et si le nom de la ville est plus grand et que le texte atteint 160 = message d’erreur.
    Je pense qu’il faut analyser la valeur de oCible value avec le système présent dans le champs texte mais la solution m’échappe.

    Bonne journée

    #66626
    Maelie
    Membre

    EDIT : Après une après-midi de recherche. J’ai tout qui fonctionne :)

    Je vous met ce que j’ai réussit à faire en PJ.

    Bonne soirée

    #66627
    bebarth
    Maître des clés

    bonjour,

    J’ai tout qui fonctionne :)

    Tant mieux, parce que personnellement je n’ai pas bien compris et je n’ai pas réussi à avoir de message d’erreur !
    @+
    :bonjour:

Affichage de 9 réponses de 1 à 9 (sur un total de 9)
  • Vous devez être connecté pour répondre à ce sujet.