Inscrivez-vous

abracadabraPDF Forum

Le seul forum francophone entièrement dédié au format PDF

dauof

10 mai 2017 : 15:34
Sorcier Messages: 25
Bonjour,
merci pour le partage, je voudrais savoir comment faire pour n'afficher que les 4 derniers caractères de la chaine récupérée.

Merci de votre aide
« Modifié: 11 mai 2017 : 14:14 par Merlin »

  • Grand magicien
  • Messages: 7 286
Bonjour.

// mise en variable de la chaine de caractères
var cTexte = this.getField("NomDuChamp").valueAsString;
// récupération des 4 derniers caractères
var cLes4derniers = parseInt(cTexte.substr(cTexte.length - 4));
« Modifié: 11 mai 2017 : 14:13 par Merlin »
Acrobate du PDF, InDesigner et Photoshopographe

  • Sorcier
  • Messages: 25
Bonsoir,
merci d'avoir répondu à ma demande, je dois récupérer les quatre chiffres de l'année saisis dans le champ date, j'ai essayé le code que vous m'avez fourni, il ne marche pas.

Merci de votre aide
« Modifié: 12 mai 2017 : 11:24 par Merlin »

  • Grand magicien
  • Messages: 7 286
Citer
il ne marche pas.
C'est un peu court comme explication…  :Euuuh:

Peux tu partager tout ou partie de ce formulaire ? Au moins une page avec les deux champs concernés.
( Voir : http://abracadabrapdf.net/forum/index.php/topic,2974.msg16849.html#msg16849 )
Acrobate du PDF, InDesigner et Photoshopographe

  • Sorcier
  • Messages: 25
Bonjour,
ci-joint le fichier exemple.

Merci de votre aide

  • Grand magicien
  • Messages: 7 286
var cTexte = this.getField("Date").valueAsString;Le vrai nom du champ Date c'est : Date_af_date
Oui je sais… C'est une nouveauté d'Acrobat DC… Les noms des nouveaux champs Date ne sont pas indiqués en entier dans la fenêtre des Propriétés, c'est un cauchemar avec JavaScript.  :oh:  :mur:


Citer
var cLes4derniers = parseInt(cTexte.substr(cTexte.length - 4));
Dans mon exemple on récupérait la valeur dans une variable, là il faut en plus la placer dans le champ concerné.
Mais si on fait ça directement et que le champ Date est vide, le 2e champ affiche NaN (Not a Number), donc il ne faut exécuter le script que si la valeur du champ Date n'est pas nulle.
Ce qui nous donne :

// mise en variable de la chaine de caractères
var cTexte = this.getField("Date_af_date").valueAsString;
if (cTexte != "") {
// récupération des 4 derniers caractères
var cLes4derniers = parseInt(cTexte.substr(cTexte.length - 4));
// importation dans le champ
event.value = cLes4derniers;
} else {
event.value = "";
}


.
« Modifié: 12 mai 2017 : 18:21 par Merlin »
Acrobate du PDF, InDesigner et Photoshopographe

  • Sorcier
  • Messages: 25
Merci beaucoup, ça marche impeccable  :extra: :bravo: