- Ce sujet est vide.
-
Sujet
-
Bonjour,
je suis débutante j’utilise adobe acrobat pro 9.2 sur windows , et j’ai besoin de limiter la taille d’un champ selon le texte saisi à l’intérieur,sur ce forum j’ai trouvé un sujet similaire mais le champ ne grandit qu’au delà de 10 caractères. Pour mon cas je veux qu’il se redimensionne au delà de trois caractères.
Voici le code qui a été posté par alex :
Sur la page, j’ai créé deux champs texte:
Le champ “Reference”, caché en lecture seule qui est placé sur la future zone de saisie.
Le champ “MonBeauChampQuiGrandit”, future zone de saisie n’importe où, elle sera redimensionnée par le script pour couvrir le champ précédant.
En ouverture de page on ajoute le script suivant:
fsaisie=this.getField(“MonBeauChampQuiGrandit”);
fref=this.getField(“Reference”);
fsaisie.rect=fref.rect;
lg=fsaisie.value;
Dans le champ “MonBeauChampQuiGrandit”, onglet “Format>Personnalisé>Format de touche personnalisé” j’ai saisi le script suivant:
if(!event.willCommit)
{
console.clear();
rectangle=fref.rect;
//calcul de la largeur de référence
larg=rectangle[2]-rectangle[0];
//lecture du contenu du champ
lg=this.event.value;
//calcul de la nouvelle abscisse, il faudrait ajouter une limite
newlarg=(lg.length)*larg/10;
rectangle[2]=Math.max((rectangle[0]+newlarg),(rectangle[0]+larg));
//Pour les curieux:
console.println(“Chaîne de caractères=”+lg);
console.println(“Longueur chaine de caractères=”+lg.length);
console.println(“Longueur variable du champ de saisie=”+newlarg);
console.println(“Longueur mini du champ de saisie=”+larg);
//On dimensionne si nécessaire
if(event.change)
{
fsaisie.rect=rectangle;
}
}Au delà de 10 caractères le champ est redimensionné proportionnellement à la longueur de la saisie. On peut faire mieux mais c’est déjà ça.
__________________________
Merci de m’aider c’est urgent. :bonjour:
- Vous devez être connecté pour répondre à ce sujet.