Donnez vie à vos documents numériques !
 

michel c.

Toutes mes réponses sur les forums

Affichage de 89 réponses de 199 à 287 (sur un total de 287)
  • Auteur
    Réponses
  • en réponse à : Message d’alerte qu’une seule fois #70522
    michel c.
    Participant

    Si tu n’en dis pas plus ou si tu ne met pas ton document en lien ça va être un peu dur de te répondre (en tout cas pour moi).

    en réponse à : affichage ligne suivante. #70516
    michel c.
    Participant

    Alors ça va, ça n’aura pas été fait pour rien.

    en réponse à : affichage ligne suivante. #70514
    michel c.
    Participant

    Bon, j’ai commenté un truc avec des commentaires positifs et tout, cependant, je ne sais pas trop qui les verra, j’ai jamais trop bien compris comment fonctionnent ces réseaux sociaux.

    Bon je n’ai pas d’abonnement à LinkedIn, juste un compte gratuit, je suppose qu’il y a certaines limitations pour la publication de commentaires.

    en réponse à : affichage ligne suivante. #70512
    michel c.
    Participant

    Je viens de me souvenir que j’avais un compte chez Linked In sur lequel je vais quasiment jamais. Je cherche comment faire pour publier les recommandations mais je n’ai pas trop l’habitude de ce genre de trucs….

    en réponse à : affichage ligne suivante. #70507
    michel c.
    Participant

    Malheureusement je n’utilise aucun réseau social…

    en réponse à : affichage ligne suivante. #70503
    michel c.
    Participant

    @Merlin : merci, j’ai acheté le bouquin, il a l’air vraiment bien fait et gros avantage pour moi : c’est en français.

    @ BB : Merci aussi pour les commentaires sur le script, ça me fait gagner un temps fou.

    Et merci aussi pour ce site, j’ai énormément progressé grâce à vous. Il y a quelques moi j’étais loin d’imaginer tout ce que l’on pouvait faire avec des formulaires pdf.

    Pour un débutant en programmation, c’est très agréable d’avoir un site comme celui-ci pour se faire aider.

    en réponse à : affichage ligne suivante. #70496
    michel c.
    Participant

    Je commence à  étudier ton script, j’en suis au début ;

    la variable modeleRegEx est définie par : /^\d?$/;

    Le \d définit la saisie de chiffres de 0 à 9 si je comprend bien.

    ^ et  $ : semblent marquer le début et la fin d’une ligne

    Le ? : Correspond à 0 ou 1 occurrence de l’élément précédent → je ne vois pas trop …

    Y a t-il de la documentation à ce sujet ? J’ai regardé un peu sur le net et dans JavaScript for Acrobat API Reference mais ça me semble un peu confus.

    J’ai aussi du mal à comprendre la ligne suivante : aTester.splice(event.selStart, event.selEnd-event.selStart, event.change);

    event.selStart semble marquer le début de la saisie et  event.selEnd-event.selStart; ce qu’il y a entre le début et la fin mais je ne suis pas sûr.

    Par contre je ne saisis pas le .splice

     

    Merci

     

     

     

     

    en réponse à : affichage ligne suivante. #70494
    michel c.
    Participant

    Bonjour, je ne comprends pas bien pourquoi je n’arrive plus à voir les réponses de ce fil. Je ne vois plus que ma première intervention du 21/01…

    Edit : le fait de répondre a réglé ce problème.

    Merci BB pour ta dernière proposition.

    • Cette réponse a été modifiée le il y a 2 années et 3 mois par michel c..
    en réponse à : affichage ligne suivante. #70488
    michel c.
    Participant

    Je viens d’intégrer la fonction format chiffre proposée par Merlin dans le fichier proposé par BB. Du coup seuls les chiffres peuvent être saisis.

    Attachments:
    You must be logged in to view attached files.
    en réponse à : affichage ligne suivante. #70486
    michel c.
    Participant

    @Merlin : Merci pour ces réponses. Je n’ai pas eu besoin d’implémenter le dernier code proposé.

    J’ai pu formater mes champs en nombre et pour que cela fonctionne j’ai modifié les conditions dans la fonction affLigne :

    if (ac0 === 0 | ac1 === 0 | ac2 === 0 | ac3 === 0 | ac0 > 0 | ac1 > 0 | ac2 > 0 | ac3 > 0)

    Et j’ai trouvé ce code super pratique pour déclarer un grand nombre de variable :

    for (var i=0; i<=19; i++) {eval("var ac"+i+" = this.getField(\"ac."+i+"\").value");}

    Je ne connaissais pas la fonction eval(). J’ai fait un peu des recherches et il y a certaines choses que je ne comprend pas bien.

    J’ai entre autre lu que : La fonction  eval()évalue le code JavaScript représenté sous forme de chaîne. et plus loin : Si la chaîne représente une expression, eval() évalue l’expression. Si l’argument représente une ou plusieurs instructions JavaScript, eval() évalue les instructions.

    Mais je ne comprend pas bien ce qu signifie évaluer une expression.

    Et un peu plus loin je lis qu’il est dangereux d’utiliser cette fonction : eval() est une fonction dangereuse, qui exécute le code qui lui est passé avec les privilèges de l’appelant. Si vous exécutez eval() avec une chaîne qui pourrait être affectée par une partie malveillante, vous risquez d’exécuter un code malveillant sur la machine de l’utilisateur avec les autorisations de votre page Web/extension.

    Je suppose que le danger évoqué concerne le javascript utilisé sur des pages web et non pas celui intégré aux pdf?

    Source : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval#never_use_eval!

    Merci

    Edit : @BB : Merci pour le fichier, je vais prendre le temps d’y voir un peu plus clair….

    Attachments:
    You must be logged in to view attached files.
    en réponse à : affichage ligne suivante. #70469
    michel c.
    Participant

    @BB (suite) : J’ai regardé le try catch et si je comprends bien, cela crée une exception lors de l’exécution d’une fonction pour qu’une erreur n’affecte pas sa bonne exécution. Je vais essayer de potasser un peu ça.

    en réponse à : affichage ligne suivante. #70467
    michel c.
    Participant

    Bonjour et merci pour les réponses.


    @BB
    , pour l’instant, je n’arriverai pas à faire ces modifs, il y a trop de choses que je ne maîtrise pas dans ce script et il me faut pas mal de temps pour le décrypter.

    J’ai essayé de modifier celui que j’avais fait avec les propositions de Merlin mais en faisant cela fonctionne mal. toutes les lignes s’affichent dès la saisie d’un champ sur la 1ère. J’ai une solution en tête mais ça va être très chargé, surtout sans faire utiliser de variables.

    J’ai un souci avec le script de raz ; je dois cliquer 1 fois sur le bouton pour effacer les valeurs et une 2ème fois pour effacer. Et je n’ai pas pu formater les champs en nombre car cela crée une erreur (je pense qu’un champ nombre ne peut pas contenir la valeur vide “”.

     

    Attachments:
    You must be logged in to view attached files.
    en réponse à : affichage ligne suivante. #70463
    michel c.
    Participant

    Merci pour la proposition.

    Lors de la saisie de la dernière ligne il y a un message d’erreur sur la ligne 11 du script (this.getField….is null)

    Sinon, ça fonctionne nickel, tu as résolu le problème que j’avais avec le “0” qui lorsqu’il était saisi ne faisait pas apparaître la ligne suivante.

    Il y a par contre pas mal de choses que je ne connais pas dans ce script, il va me falloir pas mal de temps pour le décrypter, mais en tout cas merci, ça me fait progresser.

    en réponse à : Affichage du haut d’une page #70435
    michel c.
    Participant

    Merci beaucoup, ça fonctionne.

    en réponse à : comparer 2 menu déroulants #70408
    michel c.
    Participant

    Bonjour, je dirais :

     

    var choixA = this.getField("nom_du_menu_a").value;

    var choixB = this.getField("nom_du_menu_b").value;

    if (choixA == choixB) {this.getField("nom_du_champs_de_point).value = 1}

    if (choixA != choixB) {this.getField("nom_du_champs_de_point).value = 0}

    Et pour chaque menu déroulant, il faut que tu mettes les valeurs d’export identiques pour les éléments des listes donnant les points à l’utilisateur.

    Mais je ne suis pas encore un pro du javascript, donc à vérifier…

    en réponse à : concatenation chiffres pour créer nombres #70407
    michel c.
    Participant

    Merci

    en réponse à : Saisie mode de passe #70370
    michel c.
    Participant

    Suis-je bêta, c’était devant mon nez… Comme je n’avais jamais eu besoin de cela, je n’avais pas vu….

    Merci pour la réponse

    en réponse à : Nombres aléatoires #70338
    michel c.
    Participant

    J’ai trouvé mon erreur ; le script corrigé :

    var i = this.getField("Level").value;
    var f = this.getField("Table").value;
    var Nb1=(Math.floor(Math.random()*i))+1;
    var Nb2="";
    console.println(i);
    console.println(f);

    if (f == 10) {var Nb2=(Math.floor(Math.random()*9))+1;
    this.getField("Nombre2").value = Nb2;
    this.getField("Nombre1").value = Nb1;
    console.println(Nb1);
    }

    if (f < 10) {var Nb2 = f;
    this.getField("Nombre2").value = Nb2;
    this.getField("Nombre1").value = Nb1;
    console.println(Nb1);
    console.println(Nb2);}

    en réponse à : Calcul date automatique j+1, j+2, j+3…. #70327
    michel c.
    Participant

    Je viens de regarder, c’est ce qui est fait dans le script mais en passant par  la variable oDate

    en réponse à : Calcul date automatique j+1, j+2, j+3…. #70322
    michel c.
    Participant

    Bonjour, entre temps j’ai réussi à faire quelque chose qui fonctionne (avec l’aide du net) → voir en pièce jointe

     

    bonjour,

    michel c. wrote:
    (util.printd(« dd/mm/yyyy », new Date())) → 05/01/2022 C’est sur cette ligne que ça cloche ; quelle que soit la date choisie, et le nombre de jours de décalage j’ai cette date du 5/01/22
    Il faut écrire : util.printd(« dd/mm/yyyy », new Date(n)); sinon c’est le jour actuel qui est pris en compte ! @+

    Je vais essayer d’intégrer cela pour voir ce que ça donne.

    Merci

    • Cette réponse a été modifiée le il y a 2 années et 3 mois par michel c..
    Attachments:
    You must be logged in to view attached files.
    en réponse à : Calcul date automatique j+1, j+2, j+3…. #70313
    michel c.
    Participant

    Même problème sur le dernier fichier proposé. J’ai juste ajouté un bouton pour afficher les valeurs sur la console.

    Je me demandais si il n’y avait pas une solution pour contourner ce problème. Pour cela je voulais savoir à quoi correspond la variable n (il me semble que c’est l’intervalle de temps en millisecondes entre la date décalée et le 1er janvier 1970) mais je ne suis pas sûr.

     

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Calcul date automatique j+1, j+2, j+3…. #70297
    michel c.
    Participant

    Bonjour, j’ai testé et cela fonctionne sur Adobe mais toujours pas sur notre logiciel.

    J’essaye de comprendre…

    J’ai affecté le script initial à un bouton en le modifiant un peu (un champ permet de saisir le nombre de jours de décalage pour afficher la date à n+le nombre de jours) : j’ai demandé à afficher sur la console les variables pour voir ce qui ne va pas.

    Donc pour la date du 25/03/2030 avec 10 jours de décalage, la console affiche ceci :

    le numéro du jour extrait de la date saisie (jour) → 25
    le numéro du mois extrait de la date saisie (mois) → 03
    l’année extrait de la date saisie (annee) → 2030
    le nombre de jours de décalage (nb) → 10
    la date saisie (d) → Mon Mar 25 2030 00:00:00 GMT+0100 (Paris, Madrid)
    le résultat du calcul (d.getTime()+(nb*24*3600*1000)) (variable n) → 1901487600000
    la date calculée avec le décalage (util.printd(“dd/mm/yyyy”, new Date())) → 05/01/2022

    C’est sur cette ligne que ça cloche ; quelle que soit la date choisie, et le nombre de jours de décalage j’ai cette date du 5/01/22

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Saisie de l’identité avec boite dialogue #70282
    michel c.
    Participant

    Merci, je viens enfin de comprendre la différence entre la variable locale et une variable pour tout le document…. Je suis un peu long parfois.

    Si je comprends bien, l’ajout de cette ligne : function boiteDeDialogue() {

    au début du script de document fait que tout le script est une fonction et que celle-ci ne se déclenche pas tant que le bouton n’appelle pas la fonction.

    Alors que dans l’autre cas, le script s’exécute dès l’ouverture du document ?

    en réponse à : [Protection] Comment font ils? #70270
    michel c.
    Participant

    Pour l’instant mes élèves ne peuvent pas éditer les documents car les contrôles sont fait en classe et j’ai un logiciel de supervision des postes informatiques.

    Jusqu’à présent je faisait faire les contrôles en distanciel grâce au module quizmaker sur mon site wordpress mais les possibilités sont moindres que sur les formulaires pdf.

    J’hésitais à franchir le pas pour faire les contrôles en distanciel en pdf mais je crois que je vais attendre pour voir ce que je peux mettre en place… Il y a aussi le souci de l’échange de documents entre élèves…

    Merci encore pour ces précisions.

    en réponse à : Calcul date automatique j+1, j+2, j+3…. #70260
    michel c.
    Participant

    Et le fichier modifié :

     

    Merci

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Calcul date automatique j+1, j+2, j+3…. #70257
    michel c.
    Participant

    Bonjour, je relance ce fil car il y a un truc qui me chiffonne avec ce fichier…

    Au travail, nous avons opté pour un autre logiciel qu’adobe DC pour des raisons financières.

    Jusqu’à présent tous les formulaires fonctionnaient aussi bien sur adobe reader DC que sur notre logiciel.

    Mais là, c’est le 1er fichier qui me pose un problème (la même date s’affiche dans tous les champs)

    Ensuite, j’ai essayé de rajouter les champs manquants pour les semaines 3 à 6 en copiant les scripts et là, même sur adobe reader DC cela ne marche plus, certaines dates sont incohérentes.

    Bref, je sèche un peu là….

     

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Problème avec des boucles for #70255
    michel c.
    Participant

    Merci pour les réponses. Je ne vois pas cette erreur car avec le logiciel dont je dispose pour l’édition de pdf, aucun message ne s’affiche. J’ai pris en compte les remarques en mettant pour chaque script des variables d’incrémentation différentes. ça a l’air de marcher, je n’ai pas de message d’erreur.

    J’ai laissé par contre les mêmes pour les scripts associés à des bouton différents mais dont les scripts sont identiques, en supposant que dans ce cas, ce n’est pas nécessaire…

    Attachments:
    You must be logged in to view attached files.
    en réponse à : BONNE ANNÉE 2022 ! #70243
    michel c.
    Participant

    Bonne année également et un grand merci pour ce forum et pour le temps passé à répondre aux questions.

    en réponse à : générateur de listes déroulantes avec valeurs d’export #70241
    michel c.
    Participant

    avec la copie d’écran…

    Attachments:
    You must be logged in to view attached files.
    en réponse à : générateur de listes déroulantes avec valeurs d’export #70240
    michel c.
    Participant

    Merci beaucoup, ça fonctionne.

    Voici le script : var lesLignes=this.getField("entreesListe").value.split("\r");
    for (var i=0; i<lesLignes.length; i++) {lesLignes=lesLignes.split("\/");}
    for (var i=0; i<10; i++) {this.getField("liste."+i).setItems(lesLignes);}

    en réponse à : Problème pour poster #70204
    michel c.
    Participant

    Bonjour,

    Je fais une 3ème tentative, je n’ai toujours pas réussi à poster dans la section PDF – Général et je viens de poster ici sans que cela fonctionne…

    Voila, j’ai un script qui me permet d’importer dans 10 listes déroulantes chaque ligne d’un champ de texte multiligne comme élément de la liste.

    Ce que j’aimerais faire c’est qu’à la fin de chaque ligne, après un séparateur comme un ; ou un / , l’utilisateur termine la ligne par une valeur numérique.

    Et que l’on importe dans les listes déroulantes chaque ligne (avant le séparateur) comme élément de liste et que la valeur après le séparateur soit importée comme valeur d’export de chaque élément des listes.

    J’ai trouvé comment à partir d’un script importer des éléments de liste avec des valeurs d’export : this.getField("liste."+i).setItems([ ["-","0"], ["Choix A",10], ["Choix B",20], ["Choix C",30],["Choix D",40]]);

    Et j’ai trouvé également un script qui permet d’importer chaque ligne comme éléments de liste (je l’ai un peu modifier pour faire la même chose pour les 10 listes):

    this.getField("liste."+i).setItems(this.getField("entreesListe").value.split(/[\r\n]+/g));

    Par contre je ne sais pas trop comment m’y prendre pour faire ce que je souhaite. J’ai lu de la documentation à ce sujet mais il y a pas mal de choses que je ne maîtrise pas, comme l’usage des séparateurs et comment ensuite réintégrer les différentes données dans les listes déroulantes..

    Derrière ce besoin, je voudrais que des utilisateurs lambdas puissent mettre les éléments qu’ils souhaitent avec les valeurs d’export sans qu’ils ne rentrent dans les scripts pour cela.

    Merci

    • Cette réponse a été modifiée le il y a 2 années et 4 mois par michel c..
    Attachments:
    You must be logged in to view attached files.
    en réponse à : PDF interactif sur site web #70185
    michel c.
    Participant

    Je ne crois pas que cela soit possible.

    Tu peux faire un formulaire en ligne et il est possible d’exporter ce formulaire en pdf mais garder l’interactivité d’un pdf ….

    As tu vu un site web sur lequel ça se fait ?

    en réponse à : Script qui a l’air de marcher mais… #70170
    michel c.
    Participant

    Je viens de regarder mais quelle que soit la date choisie, c’est la semaine qui commence le 21/12/2021 qui s’affiche en semaine 1 comme en semaine 2 avec mon logiciel (PDF XChange Editor) alors qu’avec adobe acrobat DC ça fonctionne.

    C’est la 1ère fois que je vois un script qui dysfonctionne avec ce logiciel…

    en réponse à : Script qui a l’air de marcher mais… #70167
    michel c.
    Participant

    Merci beaucoup !!!

    J’ai pu enfin arriver au bout de ce que je voulais faire. J’ai également amélioré la vérification finale afin qu’elle soit plus fonctionnelle.

    Voici le fichier terminé, en espérant qu’il n’y ait pas de bug.

    Une des questions que je me pose, sans savoir si cela est possible par la programmation c’est si en spécifiant une année quelle quelle soit (par exemple 2024) est ce qu’il est possible que pour chaque champ (semaine.0 à semaine.53) soit inscrit automatiquement la semaine spécifiée (du lundi au dimanche) en commençant par la 1ère semaine de septembre.

    Je ne demande pas le code qui doit être assez long à faire mais juste savoir si c’est possible ou pas.

    Merci

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Script qui a l’air de marcher mais… #70163
    michel c.
    Participant

    Je viens de tenter un truc : créer des variables de A à I avec une valeur 0 qui se mettent à 1 pour chaque “erreur”

    Et les messages d’alertes qui s’affichent si la valeur de ces variables est différente de 0.

    La variable J avec valeur initiale 0 se met à 1 si toutes les autres variables ont des valeurs différentes de 1.

    Si la variable J est différente de 0, le message d’alerte indiquant que tout est ok s’affiche.

    Toutes les alertes étant en dehors de la boucle for, je me disais que ça devrait marcher.

    Sauf que non….

     

    var condA=0
    var condB=0
    var condC=0
    var condD=0
    var condE=0
    var condF=0
    var condG=0
    var condH=0
    var condI=0
    var condJ=0

    if (this.getField("SLR").value != this.getField("LT").value) {var condA = 1;}

    if (this.getField("SER").value != this.getField("ET").value) {var condB = 1;}
    //Le nombre de PFMP pour les apprentis n'est pas conforme

    if (this.getField("SCR").value != this.getField("VT").value) {var condC = 1;}
    //Le nombre de semaines de congé pour les apprentis n'est pas conforme

    if (this.getField("SLRE").value != this.getField("LE").value) {var condD = 1;}
    //Le nombre de semaines au lycée pour les élèves n'est pas conforme

    if (this.getField("SERE").value != this.getField("PFMP").value) {var condE = 1;}
    //Le nombre de PFMP pour les élèves n'est pas conforme

    if (this.getField("SCRE").value != this.getField("VE").value) {var condF = 1;}
    //Le nombre de vacances pour les élèves n'est pas conforme

    for (var i = 0; i < this.numFields; i++) {

    if (this.getField("CheckBox."+i).value == "A" & this.getField("TheckBox."+i).value != "D") {var condG = 1;
    ///Attention pour les semaines en rouge, les apprentis ne peuvent pas être au lycée quand les élèves sont en PFMP ou en vacances
    this.getField("semaine."+i).fillColor = color.red;}

    if (this.getField("CheckBox."+i).value == "Off") {var condH = 1;
    //Indiquer ou sont les apprentis pour les semaines en vert
    this.getField("semaine."+i).fillColor = color.green;}

    if (this.getField("TheckBox."+i).value == "Off") {var condI = 1;
    //Indiquer ou sont les élèves pour les semaines mises en bleu
    this.getField("semaine."+i).fillColor = color.blue;}

    if (condA !=1 & condB !=1 & condC !=1 & condD !=1 & condE !=1 & condF !=1 & condG !=1 & condH !=1 & condI !=1) {var condJ=1;
    this.getField("semaine."+i).fillColor = color.transparent;}

    }

    if (condA !=0) {app.alert({cMsg:"Le nombre de semaines au lycée pour les apprentis n'est pas conforme", nIcon:2});}

    if (condB !=0) {app.alert({cMsg:"Le nombre de PFMP pour les apprentis n'est pas conforme", nIcon:2});}

    if (condC !=0) {app.alert({cMsg:"Le nombre de semaines de congé pour les apprentis n'est pas conforme", nIcon:2});}

    if (condD !=0) {app.alert({cMsg:"Le nombre de semaines au lycée pour les élèves n'est pas conforme", nIcon:2});}

    if (condE !=0) {app.alert({cMsg:"Le nombre de PFMP pour les élèves n'est pas conforme", nIcon:2});}

    if (condF !=0) {app.alert({cMsg:"Le nombre de vacances pour les élèves n'est pas conforme", nIcon:2});}

    if (condG !=0) {app.alert({cMsg:"Attention pour les semaines en rouge, les apprentis ne peuvent pas être au lycée quand les élèves sont en PFMP ou en vacances", nIcon:2});}

    if (condH !=0) {app.alert({cMsg:"Indiquer ou sont les apprentis pour les semaines en vert", nIcon:2});}

    if (condI !=0) {app.alert({cMsg:"Indiquer ou sont les élèves pour les semaines mises en bleu", nIcon:2});}

    if (condJ !=0) {app.alert({cMsg:"Tout est ok", nIcon:2});}

     

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Script qui a l’air de marcher mais… #70161
    michel c.
    Participant

    Bonjour,

    j’avais voulu simplifier mon document pour le poster mais ce n’était pas une bonne idée.

    Voici le document complet ou presque.

    Cette erreur est toujours présente et je n’arrive pas à activer la ligne 37 sans que le message d’alerte s’affiche 53 fois…

     

    Merci

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Couleurs #70149
    michel c.
    Participant

    Bonjour, la proposition de merlin fonctionne bien.

    Pour la dernière proposition, lorsque je colle le script dans la console et que j’exécute, la console renvoie undefined.

    Ce que tu appelle script de touche personnalisée c’est un script qui se déclenche souris vers le haut par exemple ?

    Je met le 1er script pour tous les menus déroulants et le 2nd sur les champs diff ?

    Tu as du oublier la pièce jointe.

    Tu as raison de préciser qu’il est inutile d’exécuter les 53 scripts; J’avais remarqué que lorsque j’ai un pdf dans lesquels trop de champs contiennent des scripts, il arrive que mon éditeur plante.

    Je précise que je ne suis pas sous adobe mais sous PDF XChange Editor Plus (mais je pense qu’il y a à peu près les mêmes fonctionnalités)

    Je réessayerai ce soir

    Merci pour les propositions en tout cas.

    PS : je ne comprend pas bien cette ligne : this.getField(“sequence.”+i).commitOnSelChange=true

     

    en réponse à : Checkbox #70135
    michel c.
    Participant

    Merci beaucoup pour la réponse et pour les explications.

    Ce type de script n’est pas facile pour moi, même si je comprends le principe, il y a certaines choses qui m’échappent encore….mais je vais étudier ça en détail.

    Je reviendrai peut être pour d’autres petites questions je pense.

     

     

    en réponse à : Checkbox #70122
    michel c.
    Participant

    Bonjour Est-ce que ce sont des cases à cocher indépendantes ou bien est-ce qu’elles fonctionnent avec un choix unique pour chaque ligne (comme des boutons-radio) ? Peux tu partager ton document ou un exemple ?

    Bonjour, il y a un choix unique pour chaque ligne.

    Dans mon premier message, le fichier est attaché, je suis le seul à le voir ?

    Je remet le fichier.

    • Cette réponse a été modifiée le il y a 2 années et 4 mois par michel c..
    Attachments:
    You must be logged in to view attached files.
    en réponse à : Checkbox #70111
    michel c.
    Participant

    Bon, j’ai fini par trouver ….

    J’ai extrait les chiffres des noms de champ et j’ai mis le même script pour toute la colonne 1 :

    var nom=event.target.name;
    var i = nom.substring(1,3);

    if (event.target.isBoxChecked(0)) {
    this.getField("E"+i).display = display.hidden;
    this.getField("V"+i).display = display.hidden

    }

    else {
    this.getField("E"+i).display = display.visible;
    this.getField("V"+i).display = display.visible
    }

    Pour la colonne 2, j’ai remplacé :

    ("E"+i) et ("V"+i) par ("L"+i) et ("V"+i)

    Pour la colonne 3, j’ai remplacé:

    ("E"+i) et ("V"+i) par ("L"+i) et ("E"+i)

    • Cette réponse a été modifiée le il y a 2 années et 4 mois par michel c..
    en réponse à : Signature numérique / électronique #69911
    michel c.
    Participant

    Le formulaire initial est en construction, je le réactiverai sous peu

    en réponse à : Signature numérique / électronique #69910
    michel c.
    Participant

    Principe de base de tout éditeur de logiciel : laisser l’utilisateur croire que c’est de sa faute… 😉

    Oui, tu ne crois pas si bien dire…

    Après pas mal d’essais, je me suis rendu compte que c’est le fait de rendre la signature obligatoire qui provoquait ce bug…

     

    en réponse à : Signature numérique / électronique #69908
    michel c.
    Participant

    Oui mais je pense que l’erreur vient de moi. Je dois avoir fait une erreur de parametrage.

    Lorsque mon formulaire était un peu plus simple et épuré je ne validait qu’une fois…

    en réponse à : Signature numérique / électronique #69906
    michel c.
    Participant

    Si certains veulent voir ce que ça donne, j’ai presque fini mon 1er formulaire → Droit à l’image : personnes majeures

    J’ai juste un bug : il faut cliquer 2 fois sur envoyer pour soumettre le formulaire…je planche là dessus…

    Vous recevrez le pdf généré à l’adresse e-mail renseignée (le message risque de se retrouver dans les spams)

    J’ai mis un mot de passe sur la page pour éviter que n’importe qui accède au formulaire. Il s’agit du nom d’un célèbre site dédié aux formulaires pdf (tout en minuscules)

    Je désactiverai ce mot de passe dans quelques jours, je vous laisse le temps de tester si ça vous intéresse…

    en réponse à : Signature numérique / électronique #69901
    michel c.
    Participant

    Après de nombreux essais, il existe une solution entièrement gratuite et fonctionnelle :

    l’extension Contact Form 7
    l’extension Send PDF for contact Form 7 (un peu difficile à appréhender au début mais j’ai réussi à sortir un formulaire simple avec un entête)
    l’extension Contact Form 7 Signature Addon
    Je ne connais pas la portée juridique mais l’extension Send PDF for contact Form 7 permet l’apposition d’une balise : [reference]

    Et, je cite l’auteur :

    [reference]  est une simple balise qui est utilisée pour créer des PDF uniques. Elle est également enregistrée dans la base de données. Chaque PDF est nommé comme suit : nom-pdf-[reference] et est téléversé dans le dossier de téléversement de WordPress. Par exemple : document-pdf-56BC4A3EF0752.pdfPar exemple : documennt-pdf-6181a0c2494c6.pdf

     

    Bref, pour des extensions gratuites, ce n’est pas trop mal…

    • Cette réponse a été modifiée le il y a 2 années et 6 mois par michel c..
    • Cette réponse a été modifiée le il y a 2 années et 6 mois par michel c..
    en réponse à : Signature numérique / électronique #69899
    michel c.
    Participant

    Ok, pour les solutions gratuites, il y a :

    • l’extension Contact Form 7 qui permet de réaliser des formulaires sur son site word press assez facilement
    • Si on ajoute l’extension Send PDF for contact Form 7, on peut exporter le formulaire en pdf et l’admin du site reçoit un exemplaire en pdf du formulaire (il est possible me semble t il d’envoyer une copie par mail à celui qui rempli le formulaire). Je suis en train de tatonner un peu pour bien arriver à faire fonctionner cette extension
    • Si on ajoute l’extension PDF Forms Filler for CF7, il est possible de lier son formulaire en ligne avec un formulaire pdf et de mapper les champs que l’on souhaite mais lors de l’export, une filigrane apparaît (sauf si l’on paye pour la version complète)

    Parmi les solutions payantes, la meilleure est me semble-t-il WPForms (la version gratuite est déjà pas mal)

    Pour 200 $ on peut bénéficier de signatures numériques
    l’extension pour générer des pdf semble gratuite en basique mais assez limitée, je suis en train de tester…

    en réponse à : Signature numérique / électronique #69890
    michel c.
    Participant

    Je vais fouiller un peu ça, je ne vais plus poster ici, c’est un peu hors sujet dans ce forum. Sauf si cela intéresse certains.

    en réponse à : Signature numérique / électronique #69886
    michel c.
    Participant

    Est ce que quelqu’un a déjà essayé d’intégrer un formulaire à un site wordpress avec signature numérique et export en pdf ?

    Il existe beaucoup de modules wp qui proposent cela, j’en ai testé déjà quelques uns. L’option signature est toujours payante (en tout cas d’après ce que j’ai vu jusqu’à présent) mais avant d’envisager un achat, j’aimerais avoir quelques retours.

    Merci

    en réponse à : Signature numérique / électronique #69825
    michel c.
    Participant

    Je suis bien d’accord. Cela fait longtemps que l’état aurait du embaucher des développeurs pour que nos administrations puissent bénéficier d’applications adaptées, ça n’est pas les talents qui manquent en France.

    Un gros paquet d’argent part effectivement chez Microsoft et autres multinationales du numérique.

    Pour en revenir au sujet, je n’a rien trouvé d’aussi simple qu’Adobe Sign pour les parents. Si c’est trop complexe, ce ne sera pas utilisé. Je n’ai pas encore envisagé une signature numérique via page html hébergée sur le site du lycée. Je ne sais pas si c’est faisable et quelle est la portée juridique.

    en réponse à : Signature numérique / électronique #69823
    michel c.
    Participant

    Apparemment certains établissement scolaires ont pris des abonnements à adobe sign :

    la signature numerique prend sa place dans le monde de l’education

     

    Je vais voir notre gestionnaire à la rentrée pour faire une demande.

    Merci en tout cas

    en réponse à : Signature numérique / électronique #69818
    michel c.
    Participant

    Je viens de tester ça, c’est vrai que c’est nickel. La seule question c’est si notre établissement scolaire sera prêt à payer les licences (notre gestionnaire préfère les logiciels achetés plutôt que des abonnements). Et cela dépendra aussi du nombre de licences à acheter je suppose qu’il en faut une pour chaque personne qui utilisera cette fonction.

    Les principaux intéressés chez nous sont la secrétaire et l’intendante mais il est fréquent que des enseignants demandent des signatures aux parents pour des sorties ou des voyages. Si on refile du boulot à la secrétaire pour gérer les signatures, ça risque de ne pas le faire…

    Je me demandais si il y avait une solution à peu près identique (en tout cas pas trop complexe pour les signataires) et sans abonnement.

    en réponse à : concaténation des valeurs de plusieurs champs #69804
    michel c.
    Participant

    <p style=”text-align: left;”>

    Pourquoi ne pas utiliser directement le format « Code Postal » ?

    </p>
    <p style=”text-align: left;”>Euh. En fait, je n’y avais pas pensé.</p>
    <p style=”text-align: left;”>Le bon côté c’est que j’ai appris quelque chose.</p>

    • Cette réponse a été modifiée le il y a 2 années et 6 mois par michel c..
    en réponse à : concaténation des valeurs de plusieurs champs #69799
    michel c.
    Participant

    Merci beaucoup. Du coup je viens de comprendre des trucs.

    J’ai fait une modif pour que la fin du prénom soit en minuscules.

     

    this.getField("PRENOM").value.substr(0,1).toUpperCase()+this.getField("PRENOM").value.substr(1).toLowerCase();

    en réponse à : concaténation des valeurs de plusieurs champs #69796
    michel c.
    Participant

    Merci, cela marche impec.

    J’ai le même souci avec le champ prénom : en action de format j’ai mis le script pour capitaliser la 1ère lettre dispo dans les scripts. Mais si dans le champ prénom la 1ère apparait bien en Majuscule, dans le champ concaténé, la première lettre se transforme en minuscule (sauf si lors de la saisie elle était en majuscule).

    Et si je remplace cPrenom.value par cPrenom.valueAsString, cela ne change rien…

     

    en réponse à : Calcul de % de bonnes réponses #69653
    michel c.
    Participant

    Merci pour la réponse, je viens d'apprendre quelque chose, je ne savais pas comment incrémenter une valeur.
    Entre temps j'avais trouvé un moyen mais plus tiré par les cheveux…
    Et effectivement, je ne maitrise pas “isBoxChecked”. J'ai commencé à regarder le lien que tu as posté, il va me falloir un peu de temps, l'anglais n'est pas mon fort….

    en réponse à : Calcul de % de bonnes réponses #69651
    michel c.
    Participant

    Oui, je me suis aperçu de ma bourde cet après midi. Je comptais poster là dessus mais je me suis laisser happer par un autre truc sur lequel je bute…
    Je compte mettre en place une aide interactive qui s'affiche via un bouton en face de chaque question (ça je pense savoir faire)

    Mais j'aimerais aussi qu'à la fin de l'exercice, l'élève en cliquant sur un bouton pour connaitre son % de bonnes réponses, s'affiche également le nombre de fois ou il a fait appel à l'aide.
    J'ai tenté un truc mais qui ne fonctionne pas. Peut être que mes variables ne sont pas déclarées au bon endroit…
    Merci
    Ps : je n'ai pas intégré encore la modif que tu as faite au script dans mon document mais je ne comprend pas ceci :

    Code:
    replace(/,/, “.”)
    en réponse à : Calcul de % de bonnes réponses #69649
    michel c.
    Participant

    Je viens de trouver tout seul comme un grand (mais aussi avec une recherche sur le forum mieux formulée)
    Je n'arrive par contre pas encore à accepter les points et les virgules pour les séparateurs.

    en réponse à : Calcul heures dans un formulaire PDF #69609
    michel c.
    Participant

    Bonjour, je ne comprends pas trop le javascript de document (j’ai du mal avec les fonctions)

    Code:
    function Time2Num(sFormat, sTime) {
        if(sTime==””) return “”; // exit
        // get date time for Epoch date and sTime
        var oTime=util.scand(“mm/dd/yyyy “+sFormat, “01/01/1970 “+sTime);
        // convert UTC Offset to milliseonds for adjustment
        var fTZOffset=oTime.getTimezoneOffset()*1000*60
        // time since the start of the day in millseconds
        var fTime=oTime.valueOf()-fTZOffset;
        // convert to seconds and return value
        return Math.round(fTime/1000);
    }

    Voici ce que je comprend :

    Code:
    function Time2Num(sFormat, sTime)

    Je suppose que l’on déclare la fonction TimeNum ayant comme paramètres sFormat et sTime

    Code:
    if(sTime==””) return “”; // exit

    Si la variable sTime est non vide alors on abandonne l’exécution de la fonction
    Par contre ensuite, je ne comprend pas pourquoi il n’y a pas “else”
     

    Code:
    // get date time for Epoch date and sTime
        var oTime=util.scand(“mm/dd/yyyy “+sFormat, “01/01/1970 “+sTime);

    On déclare la variable oTime par contre la fonction util.scand d’après mes recherches sert à convertir la chaine mm/dd/yyyy en secondes (je ne suis pas sûr) mais je ne sais pas trop comment et je ne sais pas à quoi servent les paramètres qui suivent

    Code:
        // convert UTC Offset to milliseonds for adjustment
        var fTZOffset=oTime.getTimezoneOffset()*1000*60

    On déclare la variable fTZOffset mais je ne comprends pas trop la suite…
    Pour la suite je pourrais peut être la comprendre seul si j’avais la réponse à ces interrogations.
    Merci

    en réponse à : Champs calculs : liste déroulante et conditionnel #69392
    michel c.
    Participant

    bonjour,
    Je pense que michel c. a oublié de poster un fichier…
    Voici une solution sans JavaScript.
    @+
    :bonjour:

    Ben pourtant si : le mot Réponse en fin de post renvoie vers un lien hypertexte : le fichier reponse.pdf

    en réponse à : Champs calculs : liste déroulante et conditionnel #69390
    michel c.
    Participant

    Voila ce que j’ai pu faire : calcul du montant via un bouton. Le calcul ne s’effectue pas si la puissance ou le kilométrage est incorrect. Dans ces cas une fenêtre s’ouvre pour afficher un message d’erreur.

    Réponse

    en réponse à : Signature électronique – mention ‘lu et approuvé’ #69462
    michel c.
    Participant

    Ne serait il pas possible que :

    • si le document n’est pas signé ; lors de la fermeture de celui-ci, la mention Lu et approuvé soit effacée
    • si “lu et approuvé” est inscrit et le document signé, cela “aplatisse” le pdf afin que plus aucun champ ne soit modifiable et sauvegarde du document dans la foulée?
    • [/list]

    en réponse à : Verrouiller un fichier PDF #69436
    michel c.
    Participant

    Donc pas de possibilité d’avoir une forme de propriété intellectuelle sur des scripts inclus dans les pdf. Si vous vendez à un client des formulaires, rien n’empêche l’échange et la diffusion des scripts inclus dans les documents ?

    en réponse à : Verrouiller un fichier PDF #69433
    michel c.
    Participant

    J’ai déjà téléchargé des pdf dont le menu formulaire était verrouillé. Comme celui ci ? Lien
    Mon éditeur me précise que les les fonctionnalités d’édition sont limitées car le document contient un formulaire XFA dynamique.
    D’après ce que j’ai lu ICI, cela veut dire que ce type de formulaire pdf est tout de même modifiable avec Adobe Designer ?

    en réponse à : Verrouiller un fichier PDF #69431
    michel c.
    Participant

    Ça ne protège que contre les grand-mères et ceux qui ne savent pas utiliser Googol, il existe des dizaines de sites et d’utilitaires comme celui-ci :
    https://smallpdf.com/fr/unlock-pdf

    :geek:

    Mince, je ne pensais pas que ce type de protection ne valait pas un clou…

    en réponse à : Verrouiller un fichier PDF #69429
    michel c.
    Participant

    Bonjour, après vérification, ça a l’air de fonctionner sur les scripts associées à des boutons ou a des champs mais cela ne masque pas les scripts du document.
    Voici une vidéo montrant ce que je fais (sur un fichier téléchargé sur ce forum) : Lien

    Et un lien vers le fichier : Lien

    en réponse à : Verrouiller un fichier PDF #69426
    michel c.
    Participant

    Je viens de trouver….

    en réponse à : Champs visibles conditionnels #69404
    michel c.
    Participant

    Merci bebarth ! C’est de toute beauté.  :jerisjaune:

    Effectivement….

    Sinon 2 questions : dans cette ligne :

    Code:
    this.getField(theField).display=this.getField(theField).display==display.visible?display.hidden:display.visible;

    à quoi sert le “?”

    Et dans cette ligne :

    Code:
    checkABC(event.target.name.substr(0,1));

    substr(0,1)) veut dire que l’on extrait 1 caractère à partir de la position 0 du nom du bouton cible ?

    Merci

    en réponse à : Champs visibles conditionnels #69397
    michel c.
    Participant

    Je pense que oui, il suffit que les 2 conditions soient remplies. 
    Si la variable b = 5 alors le champ Cb est visible. 
    Si la variable c = 7 alors le champ Cc est visible. 
    Si la variable b=5 et la variable c= 7 alors le champ Ca est visible. 

    Code:
    var b = (this.getField(“saisieB”).value);
    var c = (this.getField(“saisieC”).value);

    if (b == 5 &&  c ==7) {
    this.getField(“Ca”).display = display.visible;
    this.getField(“Cb”).display = display.visisble;
    this.getField(“Cc”).display = display.visible;
    }

    else if (b == 5 && c!=7) {
    this.getField(“Ca”).display = display.hidden;
    this.getField(“Cb”).display = display.visible;
    this.getField(“Cc”).display = display.hidden;
    }

    else if (c == 7 && b!=5) {
    this.getField(“Ca”).display = display.hidden;
    this.getField(“Cb”).display = display.hidden;
    this.getField(“Cc”).display = display.visible;
    }

    else {
    this.getField(“Ca”).display = display.hidden;
    this.getField(“Cb”).display = display.hidden;
    this.getField(“Cc”).display = display.hidden;
    }

     

    ça devrait marcher je pense.

    en réponse à : Bouton reset #69389
    michel c.
    Participant

    Merci pour la réponse, j’ai pas mal tergiversé car même après avoir renommé mes checkbox, cela ne fonctionnait pas, j’ai dû faire ce que vous m’aviez expliqué précédemment :.

    Code:
    var positionMenu=this.getField(“repOpi”).currentValueIndices;
    this.getField(“operateur1”).value=this.getField(“repOpi”).getItemAt(positionMenu,true);
    this.getField(“operateur2”).value=this.getField(“repOpi”).getItemAt(positionMenu,true);

    .
    repOpi est une checkbox cachée, sur le choix “?” et operateur1&2 les checkbox que je souhaite initailiser.
    En tout cas, tout marche à merveille maintenant…

    en réponse à : Réduction fraction #69382
    michel c.
    Participant

    Bonjour, je ne suis pas découragé, au contraire.
    Je suis enseignant et tout a commencé avec le 1er confinement pendant lequel j’ai commencé à utiliser les formulaires pdf afin de faciliter le travail à distance des élève.
    J’ai fait acheter pour notre lycée 25 licences d’un logiciel permettant de créer des formulaires pdf afin que d’autres collègues puissent également en profiter.

    Au bout d’un an d’utilisation, j’ai découvert de plus en plus de possibilités et depuis quelques mois j’ai commencé à tenter d’intégrer quelques scripts, pour rendre les documents un peu plus interactifs et attractifs.

    Mais avec le javascript, c’est l’engrenage, je découvre qu’il y a énormément de possibilités et étant de nature curieuse, j’ai envie d’en apprendre toujours un peu plus…
    En tout cas, je trouve que vous faites un travail admirable sur ce forum et c’est extrêmement agréable de disposer d’une aide aussi précieuse.

    en réponse à : Réduction fraction #69377
    michel c.
    Participant

    It’s working. Thank you.
    I understand english but i don’t speak very well.
    I would have liked to find books in French on javascript for pdf forms but this kind of book does not exist, so I have no other choice to learn javascript for pdf than to do it in English …

    en réponse à : Réduction fraction #69374
    michel c.
    Participant

    Merci pour ta réponse, le javascript est nouveau pour moi et j’essaye de me dépatouiller avec votre aide et les différents sites qui traitent du sujet. J’ai l’impression d’avancer mais aussi peut être d’avancer sans maitriser les fondamentaux…J’ai également commandé un ouvrage mais il tarde un peu à arriver…

    Bref, tout ça pour dire que j’ai un peu étudié le script modifié et j’ai quelques incertitudes ; voici ce que j’ai compris :


    Code:
    // on déclare la fonction que l’on nomme simplify. pour str je suppose que c’est l’argument à passer à la fonction
    function simplify(str) {
    // on déclare la variable result et on lui donne une valeur nulle   
        var result=””;
    // supposition : on déclare la variable data qui sera séparée par un/   
        var data=str.split(“/”);
    // on déclare la variable numOne qui aura comme valeur …là je sèche   
        var numOne=Number(data[0]);
        var numTwo=Number(data[1]);
    //boucle pour chaque valeur de i égal au maximum entre numOne et numTwo et i>1 …la suite je sèche
        for (var i=Math.max(numOne,numTwo); i>1; i–) {
            if (numOne%i==0 && numTwo%i==0) {
                numOne/=i;
                numTwo/=i;
            }
        }
    // si numTwo égal à 1 alors on donne à la variable result la valeur de numOne je suppose
        if (numTwo===1)  result=numOne.toString();
    // sinon on donne à la variable result la valeur de numOne puis / puis la valeur de numTwo
        else result=numOne.toString()+”/”+numTwo.toString();
    // on met fin à la fonction et on renvoie la valeur result à la fonction simplify
        return result;
    }
    // on affecte au champ Text1 la valeur 4/6 traitée par la fonction simplify
    this.getField(“Text1”).value=simplify(“4/6”);
    // on affecte au champ Text2 la valeur 84810/985612 traitée par la fonction simplify
    this.getField(“Text2”).value=simplify(“84810/985612”);


    Sinon, j’ai également essayé de déclarer 2 variables avant la déclaration de la fonction pour pouvoir saisir la fraction à simplifier sans avoir à modifier le script (j’ai également crée 2 champs : nombre1 et nombre2 sur ma page)

    Code:
    var numerateur = this.getField(nombre1).value;

    Code:
    var denominateur = this.getField(nombre2).value;

    J’ai ensuite essayé de modifier la fin du script en mettant :


    Code:
    this.getField(“Text1”).value=simplify(“numerateur/denominateur”);

    Mais ça ne donne rien…

    michel c.
    Participant

    Merci beaucoup, ça fonctionne

    en réponse à : Compter et bloquer 5 cases à cocher (checkbox) #69364
    michel c.
    Participant

    Peut être en exportant la valeur 1 pour chaque case cochée puis un script verrouille en écriture chaque checkbox (this.getField(“nom_de_ta_checkbox”).readOnly=true) si la somme des valeurs exportées = 5

    en réponse à : Compter et bloquer 5 cases à cocher (checkbox) #69362
    michel c.
    Participant

    Comme ça ?Cases

    en réponse à : Affichage d’un champ de texte si un code est saisi #69356
    michel c.
    Participant

    En réalité j’utilise PDF X-Change editor qui était moins cher pour notre établissement (scolaire). Il y a une console mais je ne l’avais jamais utilisée, je vais m’y mettre…

    en réponse à : Affichage d’un champ de texte si un code est saisi #69354
    michel c.
    Participant

    C’est pour le cas de figure ou je supprimerais un des champs c* ? Ce qui empêcherait le script de tourner ?

    en réponse à : Affichage d’un champ de texte si un code est saisi #69352
    michel c.
    Participant

    ça marche très bien, merci.

    en réponse à : Affichage d’un champ de texte si un code est saisi #69350
    michel c.
    Participant

    Merci pour le lien, je m’endormirais moins bête.
    Autre question en passant : y a-t-il un moyen d’éviter les répétitions de ce style :

     

    Code:
    this.getField(“c1”).display = display.visible;
        this.getField(“c2”).display = display.visible;
        this.getField(“c3”).display = display.visible;
        this.getField(“c4”).display = display.visible;
        this.getField(“c5”).display = display.visible;
        this.getField(“c6”).display = display.visible;
        this.getField(“c7”).display = display.visible;

    En cherchant sur le forum, je viens de tester ça :

    Code:
    var i = 0;
    for (i=0 ; i<=7 ; i++){
    this.getField(“c” +i ).display = display.visible;

    Mais sans grand succès
    Test4
    Merci

    en réponse à : Affichage d’un champ de texte si un code est saisi #69348
    michel c.
    Participant

    Avec ce code ça à l’air de marcher :

    Code:
    var cSaisie = Number(this.getField(“codesaisi”).value);

    if (cSaisie == 1024) {
    app.alert({cMsg:”code ok”, nIcon:1});
        this.getField(“bravo”).display = display.visible;
    }

    else {
    app.alert({cMsg:”code faux”, nIcon:1});
        this.getField(“codesaisi”).value = 0;
        this.getField(“bravo”).display = display.hidden;
    }

    Je ne sais pas pourquoi cela ne marchait pas avec le précédent…

    en réponse à : Validation de valeur d’un champ de saisie #69280
    michel c.
    Participant

    Merci beaucoup, tout fonctionne implacablement bien maintenant.
    J’ai en plus trouvé sur un autre fil un moyen de faire ce qu’il me manquait : faire apparaitre en rouge les champs non remplis.
    Je ne connaissais rien à la programmation avant de me mettre aux formulaires pdf et je trouve cela très intéressant.
    Avez vous un ouvrage à conseiller (en français) pour que je puisse m’y mettre sérieusement ?

    en réponse à : Validation de valeur d’un champ de saisie #69278
    michel c.
    Participant

    Bonsoir, j’espère ne pas être trop pénible avec mes questions, mais je voulais savoir pourquoi ce script :

    Code:
    if (this.getField(“b1”).isBoxChecked(0)) {
        this.getField(“aa1”).display = display.visible;
    }

    else {this.getField(“aa1”).display = display.hidden;
    }

    fonctionne correctement avec une seule checkbox b1 mais pas avec les autres ?

    • Je voudrais que si la checkbox a1a est cochée ; les checkbox b1 ne puissent pas être cochées et le champ aa1 apparaisse pour masquer le texte. (ça c’est ok)
    • et sinon, si une des 4 checkbox b1 est cochée, l’avertissement soit masqué par le champ aa1
    • [/list]En gros je souhaite que l’avertissement soit visible si aucune case n’est cochée sur la ligne…
      .
      .
      Je pensais avoir tout bon mais quand ça veut pas…Merci pour votre patience

      fichier

    en réponse à : Validation de valeur d’un champ de saisie #69276
    michel c.
    Participant

    Message écrit par erreur, je viens de découvrir mon erreur après avoir relu mon message…

    en réponse à : Validation de valeur d’un champ de saisie #69275
    michel c.
    Participant

    Merci pour la réponse, étant débutant en javascript, je tatonne pas mal et j’apprend un peu plus tous les jours…
    Je n’avais pas pensé au calcul de valeur par le maximum entre la note calculée et la note proposée.
    Merci encore pour ton aide précieuse.

    en réponse à : Validation de valeur d’un champ de saisie #69273
    michel c.
    Participant

    Là j’ai un truc qui fonctionne à peu près ; il faut juste que je vois comment déclencher l’action : il ne faut pas que le document puisse être imprimé avec une valeur erronée :

    Code:
    var noteproposee= this.event.value;
    var nNotauto = Number(this.getField(“note20”).value);

        if (noteproposee < nNotauto || event.value > 20) {
    app.alert({cMsg:”La valeur saisie n’est pas conforme, merci de recommencer.”, nIcon:2});
        this.getField(“note20p”).value = Math.ceil(this.getField(“note20”).value*2)/2
        }

    en réponse à : Validation de valeur d’un champ de saisie #69272
    michel c.
    Participant

    Avec ce code la boite d’alerte s’affiche mais si on la ferme, une saisie précédente incorrecte peut rester.

    Code:
    var noteproposee= this.event.value;
    var nNotauto = Number(this.getField(“note20”).value);

    if (noteproposee < nNotauto || event.value > 20) {
    app.alert({cMsg:”La valeur saisie n’est pas conforme, merci de recommencer.”, nIcon:2});
    }

    J’aimerais qu’en cas de saisie incorrecte, une valeur calculée par ce code remplace la valeur erronée :

    Code:
    this.getField(“note20p”).value = Math.ceil(this.getField(“note20”).value*2)/2

    merci

    en réponse à : Validation de valeur d’un champ de saisie #69271
    michel c.
    Participant

    Merci  pour le conseil, j’ai supprimé le lien vers le document.
    Je n’arrive pas à faire fonctionner le script. Qu’il soit déclenchée par une action (souris vers le bas) ou dans la validation de la valeur, rien n’y fait. Quelle que soit la valeur saisie, le message d’alerte n’apparait pas. Je vais continuer à chercher.
    Merci

    en réponse à : Validation de valeur d’un champ de saisie #69268
    michel c.
    Participant

    Bonjour, effectivement c’est peut être plus simple en partageant le contenu.Ce document ne pouvant être public, voici un lien vers un document identique avec des zones masquées.
    document

    Il s’agit du champ nommé note20p ; dans ce document temporaire, j’ai utilisé un script pour le calcul d’une valeur arrondie au demi point supérieur car je n’arrivais pas à faire autrement mais il faudrait que l’examinateur puisse proposer la note qu’il souhaite et que celle ci valide les conditions suivantes :

    • valeur supérieure ou égale au champ “note20”
    • valeur inférieure ou égale à 20
    • uniquement une valeur entière ou avec 5 dixième comme valeur décimale acceptée uniquement
    • la valeur obtenue est ensuite utilisée pour le calcul du champ “note60”
    • [/list]Merci

    en réponse à : calculs à l’aide de boutons radio #69266
    michel c.
    Participant

    Je viens de réussir sans avoir à faire de script.
    http://meca05.fr/edu/documentation/files/test2.pdf

    a+

Affichage de 89 réponses de 199 à 287 (sur un total de 287)