abracadabraPDF › Forums › PDF – Général › Champs liste de formulaire vide
- Ce sujet est vide.
-
CréateurSujet
-
27 novembre 2013 à 07:38 #44720DeyDeyMembre
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.
-
CréateurSujet
-
AuteurRéponses
-
27 novembre 2013 à 09:21 #56284alexParticipant
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”
27 novembre 2013 à 10:05 #56285DeyDeyMembreMerci 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]
27 novembre 2013 à 10:43 #56286alexParticipantDans 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]
27 novembre 2013 à 10:46 #56287DeyDeyMembreCa ne fonctionne toujours pas chez moi.
27 novembre 2013 à 13:11 #56288alexParticipantOoops,
Effectivement, la correction n’était pas faite.[attachment deleted by admin]
27 novembre 2013 à 13:44 #56289DeyDeyMembreJe suis désolé mais cela ne fonctionne toujours pas. :Ooops:
27 novembre 2013 à 16:36 #56290alexParticipantBonsoir,
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]
28 novembre 2013 à 07:17 #56291DeyDeyMembreAlors à 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.
28 novembre 2013 à 08:54 #56292alexParticipantEt 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.28 novembre 2013 à 09:20 #56293DeyDeyMembreEn 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.28 novembre 2013 à 09:34 #56294alexParticipantEn ajoutant la ligne suivante au tout début du script xinitialisation(), le formulaire sera vierge:
this.resetForm();28 novembre 2013 à 09:47 #56295DeyDeyMembreLes champs valeurs par défaut des listes ne sont pas vide.
28 novembre 2013 à 13:19 #56296alexParticipantPour 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.28 novembre 2013 à 13:39 #56297DeyDeyMembreJe 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.28 novembre 2013 à 14:53 #56298alexParticipantPlacer
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();29 novembre 2013 à 07:28 #56299DeyDeyMembreJe suis complètement perdue la.
Le script marche mais mes listes déroulantes affiches toujours une valeur par défaut.
Je ne comprends pas.30 novembre 2013 à 09:12 #56300alexParticipantTu as laissé la ligne
xinitialisation();
qui exécute le script à l’ouverture.2 décembre 2013 à 07:30 #56301DeyDeyMembreDans quel script?
[attachment deleted by admin]
3 décembre 2013 à 09:12 #56302alexParticipantSous 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 !
3 décembre 2013 à 10:09 #56303DeyDeyMembrePlus 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.3 décembre 2013 à 10:31 #56304alexParticipantEnvoies ton formulaire…
3 décembre 2013 à 10:35 #56305DeyDeyMembreVoila.
Désolé mais ça m’embête tout autant.[attachment deleted by admin]
3 décembre 2013 à 13:46 #56306alexParticipantCi-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]
3 décembre 2013 à 14:10 #56307DeyDeyMembreAu 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.
3 décembre 2013 à 14:58 #56308alexParticipant1-“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]
4 décembre 2013 à 07:19 #56309DeyDeyMembreMerci ç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 !!!
-
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.