Donnez vie à vos documents numériques !
 

Contrôle sur la saisie d’un champ

abracadabraPDF Forums PDF – Général Contrôle sur la saisie d’un champ

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45618
    Riquet86
    Participant

    Bonjour,
    Je voudrais pouvoir contrôler que la saisie dans un champ commence par 27,54, 01 ou 06. Si ce n’est pas le cas, il faudrait qu’un message d’erreur s’affiche. Comme ce champ ne doit contenir qu’un nombre de 8 chiffres, j’ai utilisé le masque arbitraire mais je butte ensuite sur le contrôle de la saisie.
    Merci d’avance pour votre aide

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

    Bonjour,
    Voici un petit script de validation de saisie qui pourra être repris dans d’autre configurations.
    Les impressions dans la console illustrent le fonctionnement.
    Voir maquette jointe.

    #62395
    Merlin
    Maître des clés

    Bonjour.

    @Riquet86
    Si tu ne sais pas, ou pas bien, ce que « Console » signifie il faut lire ceci : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/console-javascript-d-acrobat/
    :Smiley03:

    #62396
    Riquet86
    Participant

    Bonjour Merlin et Alex,
    Merci beaucoup pour vos réponses, cela m’aide énormément même si j’ai encore un peu de mal à saisir toutes les ficelles du script. Mais ça correspond à ce que je souhaitais.
    Par contre, je vais peut-être abuser, mais est-il possible de modifier ce script pour qu’il contrôle aussi qu’il y a bien 8 chiffres saisis ? Je l’ai fait via le masque arbitraire mais j’avoue que le message qui s’affiche en cas d’erreur n’est pas du tout explicite, l’idée étant de faire un afficher le texte par exemple « on vous demande de saisir 8 chiffres…. »
    Merci d’avance pour votre aide précieuse

    #62397
    alex
    Participant

    Bonjour,
    Ci-joint une variante à adapter à votre cas. Attention, le format de ce champ ne peut pas être « nombre » puisqu’on analyse une chaîne de caractères. Il faudrait ajouter un script pour forcer la saisie des nombres si nécessaire.

    #62398
    Merlin
    Maître des clés

    par exemple « on vous demande de saisir 8 chiffres…. »

    « Cette référence doit avoir exactement 8 chiffres, merci de recommencer. » serait certainement plus sympathique pour l’utilisateur final.  :Smiley15:

    #62399
    bebarth
    Maître des clés

    bonjour &  :bravo:

    Il faudrait ajouter un script pour forcer la saisie des nombres si nécessaire.

    En script de touches personnalisé :

    Code:
    var regxp=/^[0-9]$/;
    if (event.willCommit==false)
    {
    if (event.change.length>0 && regxp.test(event.change)==false)
    {
    app.beep(); //pour émettre un bip
    event.rc=false
    }
    }

    @+
    :bonjour:

    #62400
    bebarth
    Maître des clés

    …on pourrait même limiter directement le nombre de chiffres tapés :

    Code:
    var regxp=/^[0-9]$/;
    if (event.willCommit==false)
    {
    if (event.change.length>0 && regxp.test(event.change)==false)
    {
    app.beep();
    event.rc=false
    }
    if (this.event.value.length>7)
    {
    app.beep();
    app.alert(« Saisie trop longue ! »,1);
    event.rc=false
    }
    }

    A l’origine, j’étais parti avec this.event.value.length>8, mais l’alerte se fait à x + 1.
    Il doit y avoir une explication mais j’ai pas compris !
    @+
    :bonjour:

    #62401
    Merlin
    Maître des clés

    Il doit y avoir une explication mais j’ai pas compris !

    En JavaScript le compte commence à zéro !  :geek:

    #62402
    bebarth
    Maître des clés

    bonjour,
    …pas pour une longueur de chaîne !!! sinon quelle est la longueur d’une chaîne vide ???
    @+
    :bonjour:

    #62403
    Merlin
    Maître des clés

    C’est une bonne question…  :joker:

    #62404
    Riquet86
    Participant

    Merci à tous pour vos apports.
    J’ai néanmoins un souci avec le dernier script (qui impose la saisie des 8 chiffres). En effet, si je ne saisi que 6 chiffres, pas de msg d’erreur.
    Par contre, si je tente de saisir plus de 8 chiffres, le 9ème ne s’affiche pas mais j’ai bien le msg d’erreur. Le souci c’est qu’en cas d’erreur de saisie dans les 8 chiffres, je ne peux plus les modifier, le msg d’erreur s’affiche à chaque fois et je ne peux absolument supprimer cette saisie.

    #62405
    bebarth
    Maître des clés

    bonsoir,
    Voici une autre proposition. Il faut régler le nombre de caractères maxi du champ « Saisie » à 8.
    Lorsque les 8 caractères sont entrés, le champ passe automatiquement au champ suivant…
    Voir si ça te convient !
    @+
    :bonjour:

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