Donnez vie à vos documents numériques !
 

Problème script de validation valeur minimale

abracadabraPDF Forums PDF – Général Problème script de validation valeur minimale

Étiqueté : 

  • Créateur
    Sujet
  • #74848
    falafhell
    Participant

    Bonjour,

    Je sollicite vos conseils pour corriger un formulaire de calcul assez simple (cf. PJ) : il s’agit d’appliquer un multiple à un montant, de transcrire ce montant en lettres, puis de lui appliquer un taux et d’afficher le total « montant + taux ».

    Jusque-là, pas de problème majeur, mes maigres connaissances ont suffi.

    Première complication : le multiple à renseigner dans le champ « nombre » doit être égal ou supérieur à 5.

    Pour ce faire, j’ai inséré un script de validation dans le champ concerné, associé à un message d’alerte, mais il ne fonctionne pas : il n’empêche pas de remplir le formulaire avec n’importe quelle valeur <5, une fois qu’on a fait disparaître le message d’alerte. De plus, le champ étant toujours rempli, le message d’alerte s’active (logiquement) lorsqu’on clique sur le bouton de rénitialisation.

    Le script a beau être simple, je ne parviens pas à pointer l’erreur… Du coup, comment faire pour effectivement bloquer puis effacer le champ « nombre » (ainsi que les champs associés, « SaisieSomme » et « TexteSomme »), en dessous de la valeur minimale 5 ?

    Seconde difficulté : la conversion des chiffres en lettres fonctionne très bien, mais y’a-t-il un moyen pour que, dès que le champ « montant en chiffres » est rempli, le champ « montant en lettres » se remplisse simultanément, sans avoir à cliquer dans le champ « montant en chiffres » ? J’ai inséré le script en « champ activé », en vain…

    Si vous pouviez m’apporter vos lumières, j’en serais bien soulagé !

    Merci par avance pour votre aide.

    Attachments:
    You must be logged in to view attached files.
Affichage de 6 réponses de 1 à 6 (sur un total de 6)
  • Auteur
    Réponses
  • #74850
    jctremblay
    Participant

    Pour ton champ de validation «nombre» tu peut utiliser ceci:

    if (event.value != "" && event.value < 5)
    {
    app.alert("Rentrer une valeur supérieure ou égale à 5");
    event.value = "";
    }

    Pour le reste, ton code pour les chiffres en mots devrait être en Javascript de document, le calcul de «SaisieSomme» et de celui-ci devrait idéalement être dans ton champ «nombre».

    #74851
    jctremblay
    Participant

    Ok…
    Comme j’avais mentionné, déplace ton code pour les nombres en mots dans un script de document.
    Puis consolide tout dans un script de calcule du champ «nombre» comme ceci:

    var saisieSomme = this.getField("SaisieSomme");
    if (event.value != "" && event.value < 5)
    {
    app.alert("Rentrer une valeur supérieure ou égale à 5");
    event.value = "";
    } else {
    saisieSomme.value = event.value * 1000;
    mots();
    }

    Le script du document ici à le nom de fonction «mots».
    Tu trouvera la correction dans le PDF.
    L’ordre de calcul a aussi été modifié… et les champ «SaisieSomme» et «texteSomme» en lecture seulement.

    Attachments:
    You must be logged in to view attached files.
    #74853
    Merlin
    Maître des clés

    Bonjour

     

    C’est le script de validation du champ “nombre” qui n’est pas correct, c’est d’autant plus dommage qu’il n’y a pas besoin de script : il suffit d’utiliser la validation fournie par Acrobat (voir capture).

    Et dans le champ “SaisieSomme” le script devrait placé en script de Validation, pas en Action.

    Attachments:
    You must be logged in to view attached files.
    #74855
    Merlin
    Maître des clés

    Ceci dit JC à raison, le script de conversion en lettres serait mieux placé en script de document.

    Et pour plus de cohérence je mettrais le symbole € dans le champ “SaisieSomme”, qui devrait être en lecture seule tout comme le champ “TexteSomme”.

    Attachments:
    You must be logged in to view attached files.
    #74859
    falafhell
    Participant

    Bonjour JC,

    Merci beaucoup !

    En effet, le script de transcription a plus sa place en script de document. Le seul hic, c’est que tant que l’utilisateur n’a pas cliqué dans le champ “SaisieSomme”, le champ “TexteSomme” transcrit le contenu du champ “Nombre” et non celui de “SaisieSomme”. Si on rentre la valeur 5 dans le champ “Nombre”, le champ “TexteSomme” affiche “cinq euros”, tandis que le champ “SaisieSomme” affiche “5000 €”.

    Attachments:
    You must be logged in to view attached files.
    #74861
    falafhell
    Participant

    C’est vrai, mais la validation Acrobat implique d’indiquer une fourchette de valeurs et je ne souhaite pas indiquer de valeur maximale.

     

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