Donnez vie à vos documents numériques !
 

Modifier un script de champ vers un script de document.

abracadabraPDF Forums PDF – Général Modifier un script de champ vers un script de document.

  • Créateur
    Sujet
  • #70043
    jctremblay
    Participant

    Dans un formulaire, j’ai plusieurs combinaisons de case à cocher et de texte. La case à cocher est en lecture seulement, et un script dans le champ de texte va changer le statut de la case à cocher. Rien de bien compliqué.

    if (event.value==""){this.getField("o.box.3").value="Off"} else {this.getField("o.box.3").value="Yes"}

    Le champ de texte se nomme o.txt.3.

    Donc les champs ont une nomenclature toujours similaire 0.box.[numéro] et 0.txt.[numéro].

    Une autre série se nomme avec v.box.[numéro] et v.txt.[numéro], etc

    Ce que j’aimerai c’est d’avoir un script de document pour cette opération. Ce qui éviterait d’avoir à le modifier de manière individuelle.

    Le script serait appelé par une simple demande de fonction: [nom]();

    Ou puis-je trouver l’information pour faire cette conversion.

    Ma deuxième question. Ce script fonctionne dans une validation, ou un champ de calcul. Mais qu’elle serait le meilleur endroit de le mettre?

Affichage de 4 réponses de 1 à 4 (sur un total de 4)
  • Auteur
    Réponses
  • #70053
    Merlin
    Maître des clés

    Je mettrais ça en script de Validation :

    gereLeMachin();

     

     

    Après avoir mis ça en script de document :

    function gereLeMachin() {
    // mise en variable du nom du champ actif
    var cName = event.target.name;
    // récupération du suffixe
    var nSuffix = cName.substring(cName.lastIndexOf('.')+1);
    if (event.value==""){this.getField("o.box." + nSuffix).value="Off"}
    else {this.getField("o.box." + nSuffix).value="Yes"}
    }

     

    En fait j’ai remplacé le numéro de suffixe de ton script par une variable contenant le numéro de suffixe du champ actif/cliqué.

    (Non testé)

    #70056
    jctremblay
    Participant

    Merci Merlin, c’est parfait! J’ai juste changé le this.getField(“o.box.” + nSuffix).value=”Yes”} pour “Oui”.

    Aussi, comment puis-je ajouter une autre modification sans répéter le if (event.value=="")
    if (event.value==""){this.getField("o.box." + nSuffix).value="Off"}
    if (event.value==""){this.getField("o.date." + nSuffix).value=""}
    else {this.getField("o.box." + nSuffix).value="Oui"} } 

    #70057
    Merlin
    Maître des clés

    Il faut mettre les instructions à exécuter à la suite entre les accolades, on peut ajouter des lignes à loisir :

     

    if (event.value == "")
    {
    this.getField("o.box." + nSuffix).value= "Off";
    this.getField("o.date." + nSuffix).value= "";
    }

    else
    {
    this.getField("o.box." + nSuffix).value= "Oui";
    this.getField("o.date." + nSuffix).value= "Exemple";
    }

    #70058
    jctremblay
    Participant

    Si simple… Merci encore une fois. Je vais tenter de m’en souvenir.

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