Obliger l'utilisateur à entrer une date ultérieure  (Lu 284 fois) Partager ce sujet Imprimer

1 B


robinmaaax  11 mars 2021 : 10:17

Bonjour, j'espère que vous allez bien. Ca doit faire 3 jours déjà que je galère a trouver un script correspondant a mon besoin. Je rédige un un formulaire sur Acrobat pro où je voudrais que l'utilisateur entre une date , la comparer a la date du jour et envoyer un message si la date est antérieure.


J'ai scruté le forum mais je ne trouve pas de réponses qui aillent dans mon sens :mur:


Merci d'avance pour votre aide. :bonjour:

IP archivée


bebarth  11 mars 2021 : 17:46

bonjour,
Voici ! Tu places le script en script de calcul de n'importe quel champ disponible. Si tu n'en as pas, tu en crées un que tu rends invisible.
@+
 :bonjour:

IP archivée


robinmaaax  12 mars 2021 : 09:06

Merci beaucoup :extra: , tu me sauves là.

IP archivée


robinmaaax  22 mars 2021 : 09:21

Bonjour, le script il fonctionne super bien. Mais j'aimerais savoir s'il te plait pourquoi tu l'as mis en script de calcul personnalisé plutôt qu'en action-exécuter un JavaScript ou encore dans les scripts JavaScript du document?
Est-ce possible d'exécuter ce script dune autre façon que dans un script de calcul personnalisé?


Merci :bonjour:

IP archivée


robinmaaax  25 mars 2021 : 10:54

bonjour,
Voici ! Tu places le script en script de calcul de n'importe quel champ disponible. Si tu n'en as pas, tu en crées un que tu rends invisible.
@+
 :bonjour:


Bonjour,


Merci pour ton script, il m'est d'une grande aide. Je voudrais y ajouter  un moyen d'invalider la saisie si elle ne convient pas.
D'après mes recherches il me faut peut-être utiliser un event.rc mais je ne comprends pas comment.
Je vous joint mon script actuel.


Merci d'avance pour votre aide.  :priere:

IP archivée


bebarth  25 mars 2021 : 14:45

bonjour,
Si tu utilises event.rc il vaut que le script appartienne au champ.
Donc en script de validation :
var chaine=event.value;
var dateEntree=chaine.split("\u002F");
var jourEntre=Number(dateEntree[0]);
var moisEntre=Number(dateEntree[1]);
var anneeEntree=Number(dateEntree[2]);
var aujourdhui=new Date();
var cetteAnnee=aujourdhui.getFullYear();
var ceMois=aujourdhui.getMonth()+1;
var ceJour=aujourdhui.getDate();
if ((anneeEntree-cetteAnnee)<0 || ((anneeEntree-cetteAnnee)==0 && (moisEntre-ceMois)<0) || ((anneeEntree-cetteAnnee)==0 && (moisEntre-ceMois)==0 && (jourEntre-ceJour)<=0)){
    var cMessAlert = "Veuillez entrer une date d'utilisation supérieure à la date du jour.";
    var cAlertTitre = "Date d'utilisation";
    app.alert({cMsg:cMessAlert, cTitle: cAlertTitre, nIcon: 1});
    event.rc=false;
}
@+
 :bonjour:

IP archivée


bebarth  25 mars 2021 : 14:49

D'après mes recherches il me faut peut-être utiliser un event.rc mais je ne comprends pas comment.
La valeur du champ est validée lorsque event.rc==true (par défaut).
Donc dans l'exemple, si il y a un message on dit event.rc=false et la valeur n'est pas validée.
@+
 :bonjour:

IP archivée


robinmaaax  25 mars 2021 : 14:59

La valeur du champ est validée lorsque event.rc==true (par défaut).
Donc dans l'exemple, si il y a un message on dit event.rc=false et la valeur n'est pas validée.
@+
 :bonjour:


Merci pour la précision, en plus le code fonctionne comme sur des roulettes.  :bravo:

IP archivée


Merlin  25 mars 2021 : 18:51

Bonjour, le script il fonctionne super bien. Mais j'aimerais savoir s'il te plait pourquoi tu l'as mis en script de calcul personnalisé plutôt qu'en action-exécuter un JavaScript ou encore dans les scripts JavaScript du document ?
Il faut absolument que tu lises ce tuto : https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/les-differents-niveaux-dutilisation-des-scripts-javascript/

IP archivée