Donnez vie à vos documents numériques !
 

Sauts automatiques de champs impossibles. – RÉSOLU

abracadabraPDF Forums PDF – Général Sauts automatiques de champs impossibles. – RÉSOLU

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44527
    tontongege
    Membre

    Bonjour,

    Ce sujet a déjà été traité mais les solutions proposées ne fonctionnent pas chez moi. Où est l’erreur ?
    Je précise  que je suis totalement novice en fabrication de formulaires.

    Soit un formulaire créé sous XPress et transformé en Pdf sous Windows 7.
    Pour des raisons de mise en page, je ne peux pas faire un champ “texte” multilignes. J’ai donc créé plusieurs champs “texte” avec des sauts automatiques.
    J’ai une première fois incorporé le script Javascript indiqué dans un post de ce forum :
    if ( event.fieldFull || event.willCommit )
    this.getField(“CHAMP_SUIVANT”).setFocus();
    Ce script fonctionne relativement bien, avec pourtant  un défaut rédhibitoire, à savoir qu’en passant au champ suivant, il élimine le dernier caractère entré .

    Toujours sur le forum, j’ai découvert cette adresse  cette adresse : http://www.planetpdf.com/developer/article.asp?ContentID=javascript_setfocus_method_f&gid=6267%29.
    J’ai chargé le fichier fourni en exemple et je me suis entraîné dessus en créant des champs supplémentaires,  après avoir recopié servilement les propriétés des différents champs. Là, tout fonctionnait parfaitement.

    Mais quand je fais la même chose sur mon formulaire, mêmes champs auxquels j’ai donné les mêmes noms, même paramètres de propriétés,  rien à faire pour que cela  fonctionne. Le texte reste désespérément bloqué dans chaque champ et je dois utiliser la touche “tabulation” pour passer au champ suivant.

    J’ai certainement fait une erreur quelque part. Mais laquelle ? Et à quel endroit ?

    Merci au(x) spécialiste(s) qui voudr(a)(ont) bien se pencher sur ce problème, avec l’espoir qu’il(s) arriver(a)(ont) à le dépatouiller.

    Tontongege

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

    Bonjour et bienvenue,

    A moins d’être devin, il est très difficile de dire ce qui ne va pas dans un document auquel on ne peut pas y accéder…

    :joker:

    #55036
    tontongege
    Membre

    Merci d’avoir répondu.

    Donc en pièce jointe le fichier en question.
    Les champs qui me posent problème sont les cinq champs en bas du documents : “souhaits particuliers”

    Avec mes remerciements.
    Tontongege

    [attachment deleted by admin]

    #55037
    Merlin
    Maître des clés

    J’ai été très surpris par le document dont tu donnes le lien, car pour autant que je sache il est impossible de sauter d’un champ à l’autre sans perdre au moins 1 caractère.

    Ce document fonctionnait certainement avec Acrobat 4… mais il y a eu 7 versions depuis et ça n’a pas l’air de fonctionner avec les versions actuelles.
    Et de toute façon le script proposé n’est censé fonctionner qu’avec des chiffres, donc il est hors jeu pour ce qui concerne ton formulaire.

    D’autre part, il ne faut pas concevoir un formulaire numérique comme un formulaire papier, la logique n’est pas la même.

    – A quoi servent les points de conduite et les champs peigne ?
    Je n’ai jamais vu un champ de formulaire qui n’écrivait pas droit ou pas régulièrement…

    – A quoi sert l’arobace entre 2 champs pour une simple adresse email ?
    L’utilisateur est-il censé être stupide ou bien est-il censé utiliser un clavier sans arobace ?
    C’est limite vexant…
    De plus ces champ ont typiquement un format qui requiert d’avoir une adresse email chez Free ou Gmail : toto@abracadabrapdf.net ça ne rentrera pas… parce-que toute la place est à gauche de l’@.

    En numérique on se contente de vérifier la syntaxe après la saisie dans un champ “normal”.
    Voir exemple ci-joint.

    – Pourquoi se prendre la tête avec plusieurs champs pour plusieurs lignes alors qu’il existe la propriété “multilignes” et qu’il suffit de supprimer les points de conduite inutiles pour que la saisie commence naturellement à la ligne suivante ?
    Voir exemple ci-joint.

    :Smiley15:

    [attachment deleted by admin]

    #55038
    maxwyss
    Membre

    La raison primaire pourquoi la continutation automatique ne fonctionne pas est parce-que la fonction AutoTab() qui est demandé, n’est pas definie. C’est si simple…

    En outre, les commentaires de Merlin sont bien fait; s’il faut utiliser des champs avec des boites, utilisez des champs peigne.

    HTH

    Max Wyss.

    #55039
    Merlin
    Maître des clés

    http://www.planetpdf.com/developer/article.asp?ContentID=javascript_setfocus_method_f&gid=6267%29

    Ben… En fait, après tests approfondis ça fonctionne très bien ce truc !
    :extra:

    La limite concernant la saisie numérique vient de la 4e ligne de code de la fonction, c’est indiqué dans la ligne précédente qui est en commentaire.
    AFNumber_Keystroke(0, 0, 0, 0, “”, true);
    On peut donc la supprimer ou la désactiver (cela revient au même que d’utiliser le format Nombre) si on veut pouvoir utiliser tous les caractères du clavier.

    Par-contre : ce qu’il ne faut par perdre de vue c’est qu’il faut connaître à l’avance le nombre maximum de caractères que le champ actif peut contenir parce-qu’il faut l’indiquer dans les Propriétés du champ : Options.
    Ce qui pose un problème pour les grands champs dans lesquels on ne sait pas ce que l’utilisateur saisira.

    Pour pallier à cela le seul moyen connu c’est d’utiliser une police de caractères à chasse fixe (ou non proportionnelle), comme la Courier par exemple.
    Autrement, comme c’est le caractère le plus large on peut aussi faire en se basant sur le nombre de m que le champ peut contenir pour une police donnée, mais ça risque de laisser des blancs peu esthétiques et pas très “user-friendly”…

    :Smiley15:

    [attachment deleted by admin]

    #55040
    tontongege
    Membre

    Merci de toutes vos réponses et de vos conseils. Et pardonnez-moi de répondre si tard, j’étais à l’étranger et viens seulement de rentrer.
    Je reviens sur certains commentaires…
    Tout d’abord, ce document a été fabriqué avec Acrobat 10.
    A quoi servent les points de conduite et les champs peigne ? C’est pour laisser le choix au destinataire d’imprimer le document  et de le renvoyer par courrier
    – A quoi sert l’arobace entre 2 champs pour une simple adresse email ? Effectivement, on peut supprimer
    – Pourquoi se prendre la tête avec plusieurs champs pour plusieurs lignes alors qu’il existe la propriété “multilignes”… Là encore, Merlin a raison.

    En revanche, je n’ai pas compris le message de maxwyss :
    – comment définir la fonction AutoTab ? Je pensais pourtant lui avoir donné les bons paramètres (une explication qui pourrait éventuellement me servir une autre fois, puisque, sur ce formulaire, je vais adopter la fonction “multilignes”
    s’il faut utiliser des champs avec des boites, utilisez des champs peigne : je n’ai pas vu cette  possibilité de fabriquer des champs peigne.

    Merci à tous pour l’aide apportée au béotien que je suis.

    Tontongege

    #55041
    maxwyss
    Membre

    Je sais que j’écris avec l’accent étranger…

    > En revanche, je n’ai pas compris le message de maxwyss :
    > – comment définir la fonction AutoTab ?
    > Je pensais pourtant lui avoir donné les bons paramètres

    Pour qu’on puisse appeler une fonction, celle-ci doit être definie. La question est, ou est-elle definie, et comment. AutoTab n’est pas une fonction qui fait partie de Acrobat JavaScript, et elle n’est egalement pas incluse dans le fichier de définitions JavaScript qui vient avec tous les installations Acrobat/Reader (ce fichier est pre-compilé, et pas documenté).

    Donc, sans savoir comment et ou cette fonction AutoTab est definie, il est impossible de savoir les arguments/paramètres.

    > s’il faut utiliser des champs avec des boites, utilisez des champs peigne : je n’ai pas vu cette  possibilité de fabriquer des champs peigne.

    L’option “champ de peigne” est selectionnée dans le dialogue des propriétés des champs, dans le secteur Options

    HTH

    Max Wyss.

    #55042
    Merlin
    Maître des clés

    comment définir la fonction AutoTab ?

    Elle y est, elle est déclarée en script de Document (capture ci-jointe).
    :Smiley01:

    [attachment deleted by admin]

    #55043
    Merlin
    Maître des clés

    A quoi servent les points de conduite et les champs peigne ? C’est pour laisser le choix au destinataire d’imprimer le document  et de le renvoyer par courrier

    A partir du moment où la saisie/remplissage est numérique les caractères seront bien alignés sur la ligne de base, et bien espacés si on utilise l’option “peigne” (Bande de…).
    Il n’y a pas besoin de marquer physiquement les lignes ni les séparations.
    :Smiley03:

    s’il faut utiliser des champs avec des boites, utilisez des champs peigne : je n’ai pas vu cette  possibilité de fabriquer des champs peigne

    Voir capture ci-jointe.
    :Smiley01:

    [attachment deleted by admin]

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