abracadabraPDF › Forums › PDF – Général › Ne pas afficher le petit "+" lorsque le champ est trop petit
- Ce sujet est vide.
-
CréateurSujet
-
9 octobre 2014 à 21:42 #44971
bendegards
ParticipantBonjour à vous !!!
J’aimerais savoir s’il y a un moyen de ne pas imprimer le petit plus dans un chams qui est trop petit pour le nombre de caractères qu’il contient. Je m’explique. A partir d’un exemple trouvé sur le forum, j’ai modifié le script afin de l’insérer dans mon formulaire. Cependant, je dois rapetissé le champs afin de ne voir que la première lettre du choix dans un menu. Apparait alors un petit « + » en bas à droite et ce dernier s’imprime. J’aimerais qu’il ne s’imprime pas, qu’on le voit à l’écran c’est correct mais pas à l’impression. Je joins mon exemple modifié.
-
CréateurSujet
-
AuteurRéponses
-
9 octobre 2014 à 22:06 #57735
MerlinMaître des clésNon, hélas.[En fait si, on peut. Voir ma réponse avec capture d’écran ci-dessous.]
9 octobre 2014 à 22:16 #57736bendegards
ParticipantDans ce cas, est-il possible de faire comme un menu déroulant avec une valeur d’exportation lorsque l’on choisi un choix dans le menu. Si je choisi le premier choix, la lettre correspondante pourrait s’inscrire dans mon champs sans tout la définition qu’y est rattaché.
10 octobre 2014 à 03:20 #57737bendegards
ParticipantJ’ai trouvé ce script qui me permet d’afficher une valeur spécifique pour chaque choix dans mon popmenu mais il doit y avoir une erreur car ça fonctionne pas du tout. Ce ne sont pas la bonne valeur qui s’affiche dans mon champs « raison dossier » pour quoi donc !!!
Pouvez vous m’éclairer un peu ???Voici mon script :
var w=this.getField(« raison dossier »);
var menu31 =
app.popUpMenu(‘M Demande d’un pays étranger’,’A Demande d un SPM’,’K Demande de l ASFC’,’J Demande de la SAAQ’,’C Enquête pour autre motif que l infraction concernée’,’B Interception sur la route’,’L Lecteur de plaque’,’I Plainte d alarme’,’F Plainte d un autre transporteur’,’D Plainte de bruit’,’E Plainte du public’,’G Plainte organisme gouvernemental’,’H Vérification de compagnie’,’Z Autre’);
if (menu31!=null)
{
if(menu31!= »M Demande d’un pays étranger »){w.value= »M »}
else
if(menu31!= »A Demande d un SPM »){w.value= »A »}
else
if(menu31!= »K Demande de l ASFC »){w.value= »K »}
else
if(menu31!= »J Demande de la SAAQ »){w.value= »J »}
else
if(menu31!= »C Enquête pour autre motif que l infraction concernée »){w.value= »C »}
else
if(menu31!= »B Interception sur la route »){w.value= »B »}
else
if(menu31!= »L Lecteur de plaque »){w.value= »L »}
else
if(menu31!= »I Plainte d alarme »){w.value= »I »}
else
if(menu31!= »F Plainte d un autre transporteur »){w.value= »F »}
else
if(menu31!= »D Plainte de bruit »){w.value= »D »}
else
if(menu31!= »E Plainte du public »){w.value= »E »}
else
if(menu31!= »G Plainte organisme gouvernemental »){w.value= »G »}
else
if(menu31!= »H Vérification de compagnie »){w.value= »H »}
else
if(menu31!= »Z Autre »){w.value= »Z »}
else {w.value= » « ;}
}10 octobre 2014 à 07:26 #57738
MerlinMaître des clésC’est une bonne idée, mais j’ai l’impression que tu es victime d’un « bug de copier-coller ». :geek:
if(menu31!= signifie « si menu31 n’est pas égal à… »
Et ce que tu veux c’est : if(menu31== qui signifie « si menu31 est égal à… »
:Smiley15:
10 octobre 2014 à 16:27 #57739rattlesnake
ParticipantHey bendegard,
Quand tu as beaucoup de conditions, tu peux passer par un Switch au lieu des if/else. C’est plus rapide est plus simple :
switch (menu31)
{
case « M Demande d’un pays étranger »:
w.value= »M »
break;case « A Demande d un SPM »:
w.value= »A »
break;//etc
}Bonne chance dans ton code
10 octobre 2014 à 20:18 #57740
MerlinMaître des clésQuand tu as beaucoup de conditions, tu peux passer par un Switch
[mode je viens de prendre un coup sur la tête]
Euuhhh… C’est documenté où ce genre de chose très intéressante ?
[/mode je viens de prendre un coup sur la tête]:geek:
11 octobre 2014 à 23:07 #57741brumbies
MembreJavascript peut être intègre aussi bien dans un pdf que dans une page web. Ensuite il faut un utilitaire pour l’interpréter, soit un navigateur pour une page web, soit Acrobat (par exemple) pour un pdf.
Cependant que ce soit dans l’un ou l’autre cas il s’agit du « même langage » (même s’il y a des fonctions spécifiques a l’un et l’autre – d’où le fait qu’Adobe ait mis a dispo des utilisateurs la Bible :Javascript for Acrobat API Référence)
Quelque soit le support utilise, les opérateurs, la définition des variables, les structures de contrôles, etc… Sont identiques.
Exemple : Math.PI qui renvoi un arrondi du nombre PI (ok il faut le pouvoir le placer…)
Donc pour créer un script « optimum », il faut combiner les données présentes dans la Bible citée plus haut avec les données des différents tutoriels présents sur le web sur l’initiation a javascript comme le site ci-dessous par exemple :https://developer.mozilla.org/fr/docs/Web/JavaScript/Une_réintroduction_à_JavaScriptDans le cas présent, switch est utile car on est sur des itérations simples avec une condition unique sur menu31
On aurait aussi pu prendre le script de bendegards et l’alléger en retirant les else puisque l’on est sur un nombre limite de possibilité via le menu (par contre si la saisie était libre via un champs texte par exemple alors les else se justifiait)
Une autre possibilité aurait été de préférer une liste box a un menu et d’affecter la valeur d’exportation de la liste box au champs « raison dossier »Tous les chemins mènent a Rome ! :Smiley01:
12 octobre 2014 à 11:10 #57742alex
ParticipantBonjour à tous.
Pour répondre à la question du « + », je vous propose de ne retenir pour l’affichage que le premier caractère de l’item du menu déroulant comme indiqué ci-dessous.
Par ailleurs, pour que la valeur s’affiche je vous propose de « forcer » le déplacement du curseur sur la saisie suivante de votre formulaire ce qui a pour effet de mettre à jour le champ « Text2 »
Voir document de démonstration joint.
Script:
var menu31 =
app.popUpMenu(‘……….’);
this.event.target.value = menu31.substring(0,1);
this.getField(« Saisie suivante »).setFocus();12 octobre 2014 à 13:20 #57743
MerlinMaître des clésTrop fort Alex !
:bravo: :extra:12 octobre 2014 à 20:35 #57744bendegards
ParticipantWOW Alex !!!!
JE ne peux demander mieux !!!!! Merci beaucoup
En passant lors de la commande app.popUpMenu, peut-on faire deux colonne ?
Merci !!!
13 octobre 2014 à 09:18 #57745rattlesnake
Participant[mode je viens de prendre un coup sur la tête]
Euuhhh… C’est documenté où ce genre de chose très intéressante ?
[/mode je viens de prendre un coup sur la tête]:geek:
Haha wouaw c’est un honneur d’avoir pu apprendre un petit quelque chose à un des rois du PDF
14 octobre 2014 à 08:26 #57746alex
ParticipantJe vous conseille ça, c’est dédié au Web mais tout ce dont on a besoin en dehors de l’environnement pdf y est (fonction mathématiques, traitement des chaînes de caractères, tables, dates, etc…) :
JavaScript: The Definitive Guide, 6th Edition
Activate Your Web Pages
By David Flanagan
Publisher: O’Reilly MediaSinon on trouve tout sur le Web, il suffit de demander.
Site conseillé: developpez.comBonne journée à tous.
14 octobre 2014 à 08:39 #57747alex
ParticipantEn ce qui concerne l’affichage de deux colonnes, je ne vois pas de solution, sauf à séparer le premier caractère du reste par un caractère genre tiret (Exemple: « M-Demande de… »). Dans ce cas le script est inchangé.
A moins que je n’aie pas compris la question…
A.20 octobre 2014 à 23:29 #57748
MerlinMaître des clésC’est le sujet des coups sur la tête…
Je viens de m’apercevoir, en faisant autre chose, que pour masquer le + ça passe par les Préférences : Formulaire d’Acrobat ou de Reader, où il faut décocher l’option « Afficher l’indicateur de dépassement des champs de texte » !:oh: :geek:
-
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.
