Donnez vie à vos documents numériques !
 

Champ image

abracadabraPDF Forums PDF – Général Champ image

  • Créateur
    Sujet
  • #75188
    michel c.
    Participant

    Bonjour, j’aimerais savoir comment faire pour que dans les champs de type image et pour les champs “Question” de mon formulaire se mettent en readonly=true.

    Si je tape ce code :

    if (nomChamp.indexOf(“Question”)==0 && this.getField(nomChamp).type==”image”) this.getField(nomChamp).readonly=true;

    Je n’ai pas d’erreur à la console mais ça ne fonctionne pas, les champs restent en readonly = false

    Si je modifie le code ainsi :

    if (nomChamp.indexOf("Question")==0 && this.getField(nomChamp).type=="button") this.getField(nomChamp).readonly=true;

    Cela fonctionne, cependant j’aimerais que les boutons restent readonly=true

    Y a-t-il une solution?

     

    Merci

Affichage de 7 réponses de 1 à 7 (sur un total de 7)
  • Auteur
    Réponses
  • #75194
    bebarth
    Maître des clés

    bonjour,
    Le type de champ “image” n’existe pas en JavaScript.
    https://opensource.adobe.com/dc-acrobat-sdk-docs/library/jsapiref/JS_API_AcroJS.html#id619
    Un champ image est un champ de type bouton auquel on ajoute une action permettant d’ajouter ou modifier l’image et dont le nom “réel” est modifié en rajoutant un suffixe “_af_image” (cf. copie d’écran jointe).
    On pourrait donc écrire :
    if (nomChamp.indexOf("Question")==0 && nomChamp.indexOf("_af_image")>0) this.getField(nomChamp).readonly=true;

    @+
    😎

    Attachments:
    You must be logged in to view attached files.
    #75196
    Merlin
    Maître des clés

    Bonjour

     

    bebarth m’a devancé.

    Effectivement le type “image” n’existe pas, et s’il n’y a pas de message d’erreur dans la console c’est tout simplement parce-que la condition ne s’exécute pas, et donc qu’elle ne peut pas provoquer d’erreur.

     

    C’est dans ces cas là qu’on regrette de ne pas avoir utilisé :

    try {
    // blablabla
    }
    catch(e) {console.println(e);}

    😉

    #75204
    michel c.
    Participant

    Merci beaucoup. J’ai réussi pour cette condition.

    Par contre je n’ai pas réussi pour la suivante :

    if (nomChamp.indexOf("Aide.")==0) {
    if (this.getField(nomChamp).type=="text" || nomChamp.indexOf("_af_image")>0) this.getField(nomChamp).readonly=true;
    else this.getField(nomChamp).readonly=false;
    }

    Ici, je voudrais que pour les champs Aide, les champs de type bouton qui ne sont pas des images soient en readonly = false et que les champs de type texte ainsi que les images en readonly = true

    Merci

     

    #75206
    Merlin
    Maître des clés

    Essaye ça :

    if (nomChamp.indexOf("Aide.")==0) {
    if (this.getField(nomChamp).type=="text" || (this.getField(nomChamp).type=="button" && nomChamp.indexOf("_af_image")>0)) this.getField(nomChamp).readonly=true;
    else this.getField(nomChamp).readonly=false;
    }

    #75207
    bebarth
    Maître des clés

    bonjour,
    En fait, tout se passe à la création de ton champ image qui te propose un nom avec le suffixe “_af_image”.
    Si tu gardes ce nom et que tu le modifies ensuite le suffixe est caché mais bien présent pour une recherche en JavaScript.
    Si lors de la création tu modifies le nom en retirant le suffixe, il ne comporte définitivement pas ce suffixe, même en recherche via JavaScript.
    C’est peut-être (voir certainement) ce qui t’arrives, et si c’est le cas je ne vois pas comment différencier un bouton d’un champ image en JavaScript !!!

    @+
    😎

    Attachments:
    You must be logged in to view attached files.
    #75210
    Merlin
    Maître des clés

    Bonjour

     

    ” En fait, tout se passe à la création de ton champ image qui te propose un nom avec le suffixe “_af_image”.”

    Ça c’est le comportement d’Acrobat, peut être que PDF Expert gère différemment.

    En tout cas oui, il faut qu’il y ait une différence entre les noms car JavaScriptement on ne peut pas distinguer un bouton image d’un bouton en label/texte seul.

    #75221
    michel c.
    Participant

    Merci pour cette solution

Affichage de 7 réponses de 1 à 7 (sur un total de 7)
  • Vous devez être connecté pour répondre à ce sujet.