Donnez vie à vos documents numériques !
 

Casse-tête et concaténation de texte dans des champs

abracadabraPDF Forums PDF – Général Casse-tête et concaténation de texte dans des champs

  • Ce sujet est vide.
Affichage de 4 réponses de 1 à 4 (sur un total de 4)
  • Auteur
    Réponses
  • #66851
    Merlin
    Maître des clés

    Bonjour

    Tu devrais utiliser la console JavaScript, ça t’aiderait beaucoup à comprendre ce qui (ne) se passe (pas).
    Voir la capture d’écran ci-jointe et voir : https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/console-javascript-d-acrobat/

    Je ne comprend pas pourquoi les champs 24 et 27 ne sont pas au format “Nombre”, ça provoque des erreurs et ça oblige à transformer la valeur saisie en nombre avec JavaScript. Mais par exemple, transformer “coucou” en nombre ne fonctionne pas…

    Le problème que tu évoques dans le document vient certainement du fait que l’ordre de calcul n’est pas bon : le champ 61 est calculé avant le champ 60.

    #66852
    hdreysse
    Membre

    Bonjour  Merlin,

    J’ai essayé la console ça me parait une usine à gaz mais je vais persister.

    Comment met-on un champs au format nombre?

    Les champs 60 et 61 ne sont pas intégrés dans le même script donc je ne vois pas ou ça gêne…
    Dans le fichier  aucun des champs  des concaténation liées à Note 1 n’est en relation avec NOte2
    Je pensais à un problème de syntaxe…

    #66853
    Merlin
    Maître des clés

    1- Plutôt que :
    this.getField(“Text108”).value+”.”+” “+”Ses résultats sont inférieurs à ceux obtenus par la moyenne des enfants de son âge”

    Tu devrais écrire :
    this.getField(“Text108”).value+”. Ses résultats sont inférieurs à ceux obtenus par la moyenne des enfants de son âge”

    Ce n’est pas important pour les machines mais c’est toujours plus lisible et maniable pour les humains.
    :Smiley03:

    2- Tu cherches vraiment les ennuis  :geek:
    Les scripts de Validation ne devraient servir qu’à valider la valeur “event.value”, enchainer des script de Validation qui se succèdent est source de conflits.
    Par exemple, tous les scripts “T1” devraient être rassemblés en un seul script qui serait déclenché en action “champ désactivé” (onBlur) par les champs “pren1” et “text24”, si et seulement si ces deux champs contiennent tous les deux une valeur.
    Ensuite on t’expliquera comment utiliser un seul script pour toutes les rangées “T” (combien y en a t’il ?).

    3- Dans ton doc les champs “Report Note” et “Zone” exécutent des scripts de Validation concurrents, comment savoir lequel va gagner ? Même chose pour la rangée T2.
    Avec les scripts de Calcul on peut au moins gérer leur ordre.

    4- Les champs “text24” et “text60” sont redondants, il suffit d’utiliser deux champs ayant exactement le même nom pour qu’ils partagent automatiquement leur valeur, sans besoin de script. Même chose pour la rangée T2.

    5-

    Comment met-on un champ au format nombre ? 

    Voir capture ci-dessous

    #66854
    hdreysse
    Membre

    J’ai bien noté tout tes remarques et je vais m’y plonger,  déjà Je vais essayer de ré-ecrire  en supprimant les espaces entre ” ” pour voir…Mais quand même…Comme je disais les deux concaténations n’ont aucun champ en Commun et sont construites de la même manière.
    Et seule celle produite par la saisie de la Note1 fonctionne donc je me questionne sur la raison du problème.selon toi il y aurait un conflit à l’intérieur du formulaire entre des champs qui n’ont rien à voir entre eux et donc c’est l’accumulation des validations non pertinentes qui provoquerait l’erreur en NoteT2?

    Henri

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