Donnez vie à vos documents numériques !
 

Champs liste de formulaire vide

abracadabraPDF Forums PDF – Général Champs liste de formulaire vide

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44720
    DeyDey
    Membre

    Bonjour,
    Est-il possible d’initialiser une liste déroulante à 0, qu’elle soit vide par défaut, d’un formulaire pdf ? (Adobe Acrobat XI)

    Merci d’avance.

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

    Bonjour,
    Pour effacer le contenu d’un menu déroulant ou d’une liste, placer ce script en ouverture de document:

    this.getField(“Nom du Champ”).clearItems();

    On peut aussi écrire un script qui efface tous les menus déroulants…
    indexField=0;
    while(indexField{
    fieldName=this.getNthFieldName(indexField);
    if(this.getField(fieldName).type==”combobox”)
    {
    this.getField(fieldName).clearItems();
    }
    indexField=indexField+1;
    }

    Pour les listes remplacer “combobox” par “listbox”

    #56285
    DeyDey
    Membre

    Merci Alex,
    J’ai ajouter ce script à l’ouverture et sur le bouton “Reset” mais quand je reset le forumlaire, les liste ne fonctionnent plus.

    Je joint le document.

    [attachment deleted by admin]

    #56286
    alex
    Participant

    Dans le script xinitialisation(), tu fais référence à une table qui n’existe pas (data02_CAP).
    L’exécution du script s’arrête là.
    J’ai corrigé.

    [attachment deleted by admin]

    #56287
    DeyDey
    Membre

    Ca ne fonctionne toujours pas chez moi.

    #56288
    alex
    Participant

    Ooops,
    Effectivement, la correction n’était pas faite.

    [attachment deleted by admin]

    #56289
    DeyDey
    Membre

    Je suis désolé mais cela ne fonctionne toujours pas.  :Ooops:

    #56290
    alex
    Participant

    Bonsoir,
    Il faut bien activer les privilèges d’exécution du JavaScript (capture)
    Par ailleurs il ne faut pas autoriser les saisies dans les menus déroulant puisque ce sont les tables qui chargent les données. Ni activer le correcteur orthographique qui mange du temps pour rien (capture)
    Fais un test avec le formulaire joint et envoies ce que la console affiche (Ctrl-J)

    [attachment deleted by admin]

    #56291
    DeyDey
    Membre

    Alors à l’ouverture, les liste on leur valeur par défaut, et quand je clique sur “Reset” les liste ce vide mais ne fonctionnent plus (il ni a plus de données).
    J’ai bien suivis tes instructions pourtant, je ne comprends pas.

    La consolle n’affiche pas d’erreurs spécifique pour ces manipulations.

    #56292
    alex
    Participant

    Et oui, il n’y a pas d’erreur !
    Ces deux boutons sont là pour les tests:
    “Reset” initialise le formulaire et en effet, les menus déroulants ne “fonctionnent plus” puisqu’ils sont vides.
    “Test” recharge ces menus déroulants !
    Tu peux donc les supprimer, le chargement se fait à l’ouverture du document.

    #56293
    DeyDey
    Membre

    En fait je voulais les laisser pour que l’utilisateur puisse changer les pièces jointes, qu’il n’est plus qu’a cliquer sur actualiser pour rafraîchir le formulaire.
    Mais le truc c’est qu’il y a des champs qui ne doivent potentiellement pas être remplis, et s’il ne sont pas vides, ça va apparaître à l’impression.
    A l’ouverture du document, les champs ont une valeur par défaut qui n’est pas nulle.

    #56294
    alex
    Participant

    En ajoutant la ligne suivante au tout début du script xinitialisation(), le formulaire sera vierge:
    this.resetForm();

    #56295
    DeyDey
    Membre

    Les champs valeurs par défaut des listes ne sont pas vide.

    #56296
    alex
    Participant

    Pour n’utiliser que les boutons il faut supprimer la ligne:
    xintialisation();
    Ainsi, le préremplissage des menus déroulants ne se fera qu’à la demande et on pourra enregistrer le formulaire avec ses données sous Adobe Reader.

    #56297
    DeyDey
    Membre

    Je ne comprends pas la.

    je réexplique: J’aimerai qu’a l’ouverture du document, tous les champs soient vides mais utilisable.
    Et que si l’utilisateur modifie une pièce jointe et donc actualise ou reset le formulaire, celui ci se remet à 0  ou s’actualise mais qu’il soit utilisable.

    #56298
    alex
    Participant

    Placer
    this.resetForm();
    à l’ouverture du document, rien de plus.
    Mais il ne sera pas possible d’enregistrer le formulaire complété pour le consulter ultérieurement.

    Pour garder les deux possibilités (conserver les données précédemment saisies ou non), créer un script de document comme suit:
    function init()
    {
    //Ce script sera exécuté à l’ouverture du document.
    rp=app.alert(“Effacer les saisies antu00E9rieures?”,2,2)
    if(rp==4)
    {
    //si oui, les saisies et contenus des menus déroulants sont effaces.
    this.resetForm();
    }
    }
    init();

    #56299
    DeyDey
    Membre

    Je suis complètement perdue la.
    Le script marche mais mes listes déroulantes affiches toujours une valeur par défaut.
    Je ne comprends pas.

    #56300
    alex
    Participant

    Tu as laissé la ligne
    xinitialisation();
    qui exécute le script à l’ouverture.

    #56301
    DeyDey
    Membre

    Dans quel script?

    [attachment deleted by admin]

    #56302
    alex
    Participant

    Sous Acrobat Pro
    Outils>
    Scripts JavaScript>Scripts JavaScript du document>
    Sélectionner xInitialisation>Modifier
    A la fin de la fonction :

    function xinitialisation()
    {
    ….
    }
    xinitialisation();

    Supprimer cette dernière ligne !

    #56303
    DeyDey
    Membre

    Plus rien ne fonctionne.
    Mes listes sont soit vides et inutilisable, soit ont une valeur par défaut que je ne veux pas voir apparaître.

    #56304
    alex
    Participant

    Envoies ton formulaire…

    #56305
    DeyDey
    Membre

    Voila.
    Désolé mais ça m’embête tout autant.

    [attachment deleted by admin]

    #56306
    alex
    Participant

    Ci-joint le formulaire dans lequel j’ai supprimé la ligne xinitialisation() comme je le demandais.
    De ce fait, le remplissage des menus déroulants ne se fait que sur demande comme prévu.

    [attachment deleted by admin]

    #56307
    DeyDey
    Membre

    Au démarrage, les listes sont vides mais ne fonctionnent toujours pas; si j’actualise, les listes fonctionnent mais gardes toujours une valeur par défaut.

    #56308
    alex
    Participant

    1-“Au démarrage, les listes sont vides mais ne fonctionnent toujours pas”
    Voilà qui me paraît tout à fait  normal puisqu’on ne lance plus le programme à l’ouverture du document (voir demande ci-dessus)!

    2-“si j’actualise, les listes fonctionnent mais gardes toujours une valeur par défaut”

    Là aussi, c’est le comportement normal des listes et menus déroulants , mais, mais, supposons….
    faisons l’hypothèse que tu souhaites avoir un item de liste vierge, dans ce cas le formulaire joint ajoute un item de liste en blanc qui deviendra l’item par défaut. La sélection de cet item par l’utilisateur réinitialisera les champs associés.

    [attachment deleted by admin]

    #56309
    DeyDey
    Membre

    Merci ça correspond à ce que je voulais obtenir.

    Par contre, je peux enlever la demande à l’ouverture du document ou est-ce génant?

    Et quant je Reset ou Actualise, les boutons du numéro du bordereau ne se réinitialise pas (ce n’est qu’un léger problème, peut-être que l’on peu “isoler” uniquement ce champ à la réinitialisation?)

    PS: Joyeux anniversaire Alex :) !!!

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