Connaitre la valeur en cours de saisie dans PDF interactif  (Lu 149 fois) Partager ce sujet Imprimer

1 B


LLaurent  02 novembre 2020 : 10:38

 :soleil: Bonjour


j'aimerais effectuer un calcul interactif par exemple pour la somme de 2 champs numériques
de sorte que le résultat soit affiché directement ou interactivement

par quel événement puis je y arriver ?


j'ai fait plusieurs essais non concluant avec les méthoded event.value et event.target.value du champ en cours de modification, mais pas de solution


Merci d'avance

IP archivée


Merlin  02 novembre 2020 : 11:42

Bonjour

Pour connaitre la saisie en cours il faut utiliser un script placé en "Script de touche personnalisé" (onglet Format). Plus d'info dans cet article : https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/les-differents-niveaux-dutilisation-des-scripts-javascript/

Mais je ne comprend pas quelle différence tu fais entre "directement ou interactivement" ?

IP archivée


LLaurent  02 novembre 2020 : 12:11

 :soleil: Merci pour cette réponse
j'ai bien fait plusieurs tests avec le script de touche personnalisé, mais pas de solution pour un résultat interactif
pour exemple à propos de "directement ou interactivement"...J'essaie d'effectuer la somme de deux champs, et j'aimerais que le calcul de la somme soit direct
supposons que les valeurs des deux champs soient toutes deux à 100, la somme peut s'afficher sans problèmej'aimerais que lorsqu'on saisit la valeur de l'un des deux champs, la somme soit directement affectée...
Merci pour votre intérêt pour ce sujet

IP archivée


Merlin  02 novembre 2020 : 12:38

Si je comprend bien tu voudrais que le calcul se fasse au fur et à mesure de la saisie ?
Par exemple si je saisis "100", le calcul se fera avec 1, puis avec 10, puis avec 100.
C'est bien ça ?

IP archivée


LLaurent  02 novembre 2020 : 12:45

c'est tout à fait ce que je voudrais

IP archivée


bebarth  02 novembre 2020 : 14:25

bonjour,
Comme ceci ???
@+
 :bonjour:

IP archivée


Merlin  02 novembre 2020 : 14:37

J'avais essayé un script plus simple mais ça foirait dès la saisie du 2e caractère.  :mur:

Topissime !   :bravo:

IP archivée


LLaurent  02 novembre 2020 : 15:08

 :bravo: :bravo: :bravo:
Vraiment Bravo
On pouvait rêver à un codage plus simple, mais c'est vraiment excellent !!!il ne me reste plus qu'à essayer de tout bien comprendre l'usage de selStart, selEnd, change, split, splice et les variables utilisées !!!
Bonne journée  :soleil: :soleil: :soleil:

IP archivée


bebarth  02 novembre 2020 : 15:10

Ce n'était pas si évident que ça !
J'avais commencé par écrire :
if (!event.willCommit) {
    this.getField("total").value=(Number(event.value)*10)+Number(event.change)+this.getField("champ2").value;
}
Mais ça ne fonctionne qu'avec des chiffres, ça bugue si on tape un caractère autre qu'un chiffre et si on supprime un caractère !
il ne me reste plus qu'à essayer de tout bien comprendre l'usage de selStart, selEnd, change, split, splice et les variables utilisées !!!
J'avoue que ce script n'est pas le plus simple à comprendre.
Déjà que chacun de leur côté, les scripts d'évènement et les expressions régulières ne sont pas évidents du tout, alors combinés...
Il faut bien étudier chaque élément pour comprendre à quoi il correspond.
@+
 :bonjour:

IP archivée