Donnez vie à vos documents numériques !
 

texte seulement

abracadabraPDF Forums PDF – Général texte seulement

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #43763
    letofus
    Membre

    bonjour

    je souhaiterai savoir s’il est possible d’obliger un utilisateur à entrer du texte dans un champ de texte

    la complexité est qu’il doit pouvoir rentrer : espace, -, _, /,
    par exemple pour rentrer : la charrité sur Loire ou / Loire..
    je n’ai encore rien trouvé de satisfaisant
    donc, ouvert à toute proposition (décente)  :extra:
    merci par avance

Affichage de 24 réponses de 1 à 24 (sur un total de 24)
  • Auteur
    Réponses
  • #50526
    alex
    Participant

    Je suppose qu’il s’agit d’interdire la saisie des chiffres dans ce champ. Dans ce cas un petit script JS pourrait sans doute répondre à la problèmatique si aucune autre astuce ne s’annonce…

    #50527
    letofus
    Membre

    Oui c’est en fait cela, interdire les chiffres  :D

    #50528
    alex
    Participant

    Sous Acrobat PRO 7,8,9, formulaire créé avec AcroForm.
    Dans chaque champ de saisie où le même contrôle s’impose,onglet Format>
    Catégorie de format>Personnalisé
    Script de touches personnalisé, insérer le script générique qui suit:

    AnalyseSaisie()
    Au niveau document, Options avancées>Traitement du document>Scripts JavaScript…>
    Créer la fonction AnalyseSaisie.

    function AnalyseSaisie()
    {
    console.clear();
    //Récupération du nom du champ de saisie:
    NomChampSaisie=event.target.name;
    console.println(“Saisie dans le champ “+NomChampSaisie);
    Chaine=this.getField(NomChampSaisie).value;
    console.println(“Chaine avant traitement=”+Chaine);
    //Tableau des caractères à exclure
    CaracteresExclus=new Array();
    CaracteresExclus=[0,1,2,3,4,5,6,7,8,9];
    //Analyse du caractère saisi
    indexC=0;
      while(indexC  {
        if(event.change==CaracteresExclus[indexC]&event.change!=””)
        {
        app.alert(“Saisie de chiffres proscrite!”,1);
        event.change=””;
        }
      indexC=indexC+1;
      }
    }

    Ci-joint fichier de démonstration, vous pouvez ajouter des champs, modifier les caractères proscrits…

    [attachment deleted by admin]

    #50529
    Merlin
    Maître des clés

    Trop d’la balle Alex !
    :bravo:

    Si ça intéresse quelqu’un, le script inverse (saisie de chiffres uniquement : pour conserver le(s) zéro(s) à gauche dans les n° de tél et les codes postaux, ce que ne font pas les champs au format “nombre”) existe déjà. Je m’en sert (presque) quotidiennement :

    Code:
    if (event.change.charCodeAt(0) > 13)
    {
    if (event.change.charCodeAt(0) < 48 || event.change.charCodeAt(0) > 57)
      {app.beep ();
      event.rc = false;
      }
    }

    A placer en “script de touches personnalisé”.

    D’ailleurs si quelqu’un savait comment modifier ce script pour autoriser, en plus des chiffres, la saisie du point (.) et du plus (+) que l’on trouve aussi dans les n° de tél je lui en serait très reconnaissant…

    :priere:

    #50530
    alex
    Participant

    Merlin, un petit effort en JavaScript… La réponse est presque à portée de main dans l’exemple qui précède en définissant cette fois la liste des caractères autorisés au lieu des exclus et en adaptant les tests!
    Allez

    #50531
    Merlin
    Maître des clés

    C’est un script que j’ai récupéré (presque) tel quel : je n’y comprend en fait pas grand-chose… je ne sais même pas s’il fonctionne avec une liste noire ou une liste blanche…
    :Euuuh:

    #50532
    letofus
    Membre

    Merci, merci beaucoup

    mais JE sui un gros nase  :mur:
    j’ai oublié dans mon premier message de préciser que c’était pour livecycle
    mais sinon bravo, c’est génial  :bravo:

    #50533
    alex
    Participant

    Ce script passe par les équivalents ASCII des caractères (ici ce sont les codes ASCII des chiffres 48 est le code ASCII de 0, jusqu’à 57 qui est le code ASCII de 9), à partir de là le code est facile à lire: toute saisie dont l’équivalent ASCII est inférieur à 48 ou supérieur à 57 est rejeté. Ce code est élégant dans ce cas particulier.
    Pour résoudre ton problème, on peut adapter le code que je vous  ai proposé ou celui-ci, au choix….

    #50534
    Merlin
    Maître des clés

    J’arrive à bluffer mon monde parce que j’arrive à lire le code JavaScript, à y changer les noms des champs et des variables.
    Mais je suis par exemple bien incapable de rajouter une bête condition à une autre, ce qui m’a fait renoncer (provisoirement) à une importante amélioration de l’interface des abracadabraTOOLS dans la dernière version.

    :oh:

    #50535
    letofus
    Membre

    donc si jamais quelqu’un sait si c’est possible avec livecycle designer…perso je ne pense pas
    mais bon ce n’est pas si grave non plus  :geek:

    #50536
    alex
    Participant

    Je fais une synthèse de toutes les solutions AcroForm (ASCII et classique) et LiveCycle Designer lundi.

    #50537
    Merlin
    Maître des clés

    :bravo:
    :contentdance:

    #50538
    alex
    Participant

    Contrôle de saisies numériques avec AcroForm:
    Script 1: saisie des chiffres uniquement (inspiré du script de Merlin).
    Script 2: saisie des chiffres, points et +.
    Script 3: saisie des chiffres, un points et un +.

    [attachment deleted by admin]

    #50539
    Merlin
    Maître des clés

    Génial !

    Dans le script 3 : il y a une alerte quand on essaye de saisir plusieurs points ou plusieurs plus mais ça n’empêche pas ces caractères d’être saisis dans le champ…

    Est-ce normal ?
    :???:

    #50540
    alex
    Participant

    Ayant revu ma copie pour le script 3….
    Contrôle de saisies numériques avec AcroForm:
    Script 1: saisie des chiffres uniquement (inspiré du script de Merlin).
    Script 2: saisie des chiffres, points et + uniquement (variante)
    Script 3: saisie des chiffres, un seul point et un seul + corrigé!

    [attachment deleted by admin]

    #50541
    Merlin
    Maître des clés

    Trop fort Alex !
    :bravo:

    Je n’ai plus qu’a bricoler un peu n°3 car dans ma demande j’avais complètement oublié que pour formater un n° de tél français (mais pas seulement) correctement il faut aussi autoriser la saisie d’espaceS en plus du “point” et du “plus”.

    +33 0.490 123 456
    ou
    +33 0.4 90 12 34 56

    #50542
    alex
    Participant

    Voici la maquette pour LiveCycle Designer, pour le cas 3 je donne ma langue au chat (provisoirement). Il faut dire qu’avec Designer, on a pas mal de formats prédéfinis qui n’imposent pas l’usage du JS.
    Quelqu’un relève le défi ?

    [attachment deleted by admin]

    #50543
    letofus
    Membre

    merci pour tout cela
    ne me reste plus qu’a essayer  :priere: d’inverser tout cela pour qu’on ne puisse pas saisir de chiffre dans LC
    :doute:

    #50544
    alex
    Participant

    Juste un petit effort de logique combinatoire…Comme à l’école..

    #50545
    Merlin
    Maître des clés

    C’est loin… !
    (l’école)

    :geek:

    #50546
    letofus
    Membre

    en meme temps je n’ai commence sur adobe que debut decembre  ::)
    et je suis un noob en informatique  :siffle:

    mais je vous remercie pour tout cela

    #50547
    letofus
    Membre

    re: sinon j’ai ce script

    if(!/^[abcdefghijklmnopqrstuvwxyz]?$/.test(xfa.event.newText))
    xfa.event.change = “”;

    inséré en javascript dans un champ de texte en evenement “change” dans livecycle
    marche bien mais…. on ne peut taper qu’un caractère !

    si une ame charitable peut m’aider à le corriger
    merci par avance

    #50548
    alex
    Participant

    Avec LiveCycle Designer, pour exclure les chiffres, voici la syntaxe JS qui me parait la plus simple, associée à l”évènement change du champ de saisie. J’utilise les codes ASCII des caractères, ainsi, il sera facile d’ajouter d’autres exclusions.
    formulaire1.Page1.texte1::change – (JavaScript, client)
        if(xfa.event.change.charCodeAt(0)>=48&xfa.event.change.charCodeAt(0)<=57)
        {
        app.alert(“Saisie de caractères alphabétiques uniquement!”,1);
        xfa.event.change=””;
        }
    Ci-joint un formulaire exemple.

    [attachment deleted by admin]

    #50549
    letofus
    Membre

    Alors la juste deux trucs à dire

    BRAVO  et MERCI
    :bravo: :bravo: :contentdance: :contentdance: :bravo: :bravo:

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