Valeur dans un champ suite à un calcul  (Lu 2582 fois) Partager ce sujet Imprimer

1 B


stefan13  16 janvier 2017 : 11:12

Bonjour à tous et toutes,

Tout d'abord mes meilleurs vœux pour cette nouvelle année qui commence.

Je rencontre un petit problème.
J'ai 3 champs : 1 qui me permet de saisir un nombre total d'heures (Total heures), 1 qui me permet de savoir combien il me reste d'heures (Reste) et 1 qui me permet de saisir un nombre d'heures aléatoire (choix1).
Lorsque je saisie un nombre d'heures dans le champ "choix" qui est supérieur au champ "reste",  le champ "reste" m'affiche "Erreur". Jusqu'ici pas de soucis mais je souhaiterai que le champ "choix1" soit réinitialisé à 0 ou vide ("").  :mur: :mur: :mur:
J'ai cherché sur différents forums et autres mais en vain.
J'aimerai donc avoir votre aide.

Je vous en remercie par avance.

Stéphan

IP archivée


Merlin  16 janvier 2017 : 13:05

Bonjour et bonne année.


Dès que j'ai utilisé ton document la Console m'a donné la réponse :

ReferenceError: d\u00E9duction_heures is not defined


Tu as créé une fonction dont le nom utilise un caractère accentué : ça ne peut pas fonctionner.  :Smiley01:


IP archivée


stefan13  16 janvier 2017 : 13:12

Bonjour Merlin,

Je n'ai pas eu ce problème chez moi.  :doute: :doute:
J'ai donc modifié la fonction qui posait problème en enlevant le caractère accentué et j'ai republié le fichier.

Stéphan

IP archivée


Merlin  16 janvier 2017 : 13:42

La Console me renvoie toujours le même message, apparemment tu as modifié le nom de la fonction mais tu n'as pas modifié le script qui appelle cette fonction.


PS : essaye l'enregistrement avec l'optimisation PDF en supprimant les polices qui ne servent à rien : ta "page vierge" passera de 550 Ko à moins de 20…
 :Smiley03:

IP archivée


stefan13  16 janvier 2017 : 13:53

J'ai pourtant bien modifié le nom de la fonction en enlevant le "é". J'ai également modifié le script qui appelle la fonction.
Je ne comprends plus là  :doute: :doute: car chez moi tout fonctionne. J'utilise ACROBAT X PRO.
J'ai optimisé le fichier afin qu'il soit moins volumineux.

Je te joint le fichier optimisé avec les modifs effectuées auparavant.

IP archivée


bebarth  16 janvier 2017 : 13:54

bonjour,
j'ai jeté un coup d'oeil vite fait, et c'est un peu le b....
On trouve du "deduction_heures_option" du "déduction_heures_option" et du "deduction_heures".
Je pense qu'il faudrait un peu revoir tout ça, mais c'est pas tout simple comme script, ça demande un peu de temps, et faut trouver le temps...
@+
 :bonjour:

IP archivée


stefan13  16 janvier 2017 : 14:02

bonjour,
j'ai jeté un coup d'oeil vite fait, et c'est un peu le b....
On trouve du "deduction_heures_option" du "déduction_heures_option" et du "deduction_heures".
Je pense qu'il faudrait un peu revoir tout ça, mais c'est pas tout simple comme script, ça demande un peu de temps, et faut trouver le temps...
@+
 :bonjour:

Salut Bebarth,

Je sais car c'est la copie d'une partie de mon pdf d'origine. J'ai du laisser certaines fonctions que j'ai oublié d'enlever  :Ooops: :Ooops: mais je l'ai épuré dans la version optimisé que j'ai mis à disposition dans mon message précédent.
J'espère que ma demande est compréhensible.  :Smiley01:

Stéphan

IP archivée


bebarth  16 janvier 2017 : 15:13

...il y a 2 lignes modifiées dans chaque script de document (indiquées par "// Changer ici").
J'ai mis un "0" mais on peut mettre "titi", "tata", ou évidemment "toto" !!!
Je ne suis pas penché sur le reste du script !
@+
 :bonjour:

IP archivée


stefan13  16 janvier 2017 : 15:33

...il y a 2 lignes modifiées dans chaque script de document (indiquées par "// Changer ici").
J'ai mis un "0" mais on peut mettre "titi", "tata", ou évidemment "toto" !!!
Je ne suis pas penché sur le reste du script !
@+
 :bonjour:

Merci Bebarth.
ça fonctionne mais ce n'est pas ça que je souhaiterai. Je me suis peut être mal fait comprendre ou mes explications n'ont pas été très claires.
Ex:
Dans mon champ "total heures", j'ai 200h.
Dans mon champ "choix1", j'ai par défaut 0h. C'est le champ qui va me permettre de calculer le reste en fonction du total des heures.
Dans mon champ "reste", j'ai donc 200h - 0h = 200h.
Si je saisie dans le champ "choix1" 150h, j'aurais bien dans le champ "reste" 50h.
Si par contre dans le champ "choix1" je saisie 220h, je voudrais que dans le champ "reste", il me remette les 200h et que le champ "choix1" soit réinitialisé à 0 ou vide ("") peu importe.
J'espère que c'est plus clair.


IP archivée


bebarth  17 janvier 2017 : 08:38

bonjour,
Il faudrait que je reprenne à le script à zéro car il y a 1 ou 2 trucs que je ne comprends pas dans son déroulement. J'ai l'impression qu'il y a des choses inutiles !
Je vais voir si je trouve un moment...
@+
 :bonjour:

IP archivée


stefan13  17 janvier 2017 : 09:02

Salut Bebarth,

Je te remercie, si tu as besoin d'explication, je suis à ta disposition.
En ce qui concerne la fonction "deduction_heure_option" à laquelle je passe 4 paramètres, il ne faut pas tenir compte des 2 derniers paramètres (valeurs vides ("")).
En effet, dans mon pdf d'origine, j'ai 3 choix (Choix1, choix2 et choix3) qui correspondent dans ma fonction à time2, time3 et time4. Time1 correspond au nombre d'heure total.
Pour le fichier joint, je n'utilise que choix1 car si ça fonctionne pour choix1, je pourrais le répercuter sur choix2 et choix3.
La fonction "validation_heure" ne fait que mettre au bon format la valeur saisie dans les champs au format HHH:MM.
Si tu veux, je peux t'épurer la fonction "deduction_heure_option" afin que tu n'es que le strict nécessaire ?


IP archivée


stefan13  17 janvier 2017 : 09:46

Après réflexion et plusieurs  :mur: :mur: :mur:, ma question est des plus simple.
Est-il possible de renvoyer à partir d'une fonction 2 valeurs dans 2 champs différents ?
Je m'explique, une valeur dans le champ où est la fonction et une valeur dans un autre champ ?

IP archivée


bebarth  17 janvier 2017 : 13:18

Je m'explique, une valeur dans le champ où est la fonction et une valeur dans un autre champ ?

pour le champ où est la fonction : this.event.value=uneValeur;
pour un autre champ : this.getField("NonduChamp").value=uneAutreValeur;

Pour ce qui est  du script de document du fichier, il y a des choses que je ne comprends pas. Pourquoi effectuer des opérations avant de vérifier des conditions : par exemple la condition minimum est heure2minutes ? heure1minute, et les calculs sont effectuer avnt de vérifier if (total >=0)...
Je ne comprends pas non plus ce que tu as voulu faire avec "event.target.name.replace("choix_maintien_heures","");"

@+
 :bonjour:

IP archivée