Donnez vie à vos documents numériques !
 

alex

Toutes mes réponses sur les forums

Affichage de 9 réponses de 595 à 603 (sur un total de 603)
  • Auteur
    Réponses
  • en réponse à : menu pop-up #49703
    alex
    Participant

    La solution à votre problème n’est pas simple car il faut parcourir l’arborescence des signets que l’on ne connait pas à priori, voilà donc le code à tester et vérifier …
    var cDest = app.popUpMenu( « section 1″, »section 2 », [« section 3 », « section 3-1 », « section 3-2 », « section 3-3 »], [« section 4″, »section 4-1″, »section 4-2″, »section 4-3″, »section 4-4″, »section 4-5″, »section 4-6 »],[« section 5 », « section 5-1 », « section 5-2 », « section 5-3 », « section 5-4 »],[« section 6 », « section 6-1 », « section 6-2 », « section 6-3 », « section 6-4 »], « section 7 », « section 8 »  );
    //this.gotoNamedDest(cDest);
    //fonction de recherche des signets
    function searchBookmarks(bkm, nLevel, bkmName)
    {
    //recherche de premier niveau
    if ( bkm.name == bkmName ) return bkm;
    //recherche aux niveaux secondaires par imbrication
    if (bkm.children != null)
    {
    for ( i = 0; i < bkm.children.length; i++)
    {
    bkMark = searchBookmarks(
    bkm.children, nLevel + 1, bkmName);
    if ( bkMark != null ) break;
    }
    return bkMark;
    }
    return null;
    }

    //programme principal…
    if ( cDest != null )
    {
    bkm = searchBookmarks(this.bookmarkRoot, 0, cDest );
    if ( bkm != null ) bkm.execute();
    else app.alert(« Signet introuvable »,1);
    }

    //Je n’ai pas eu de difficulté car ce code est assez bien documenté.

    en réponse à : formulaire avec bouton radio et envoi par messagerie #49661
    alex
    Participant

    Je te l’envoies Merlin pour que tu la « pédagogise ».

    en réponse à : formulaire avec bouton radio et envoi par messagerie #49659
    alex
    Participant

    Capter l’indice du menu déroulant en placçant le script suivant dans les actions de script personnalisée liées au format du menu déroulant . La valeur est stockée dans le champ invisible nommé « ChampInvisible ».
    this.getField(« ChampInvisible »).value=event.target.currentValueIndices;

    Lors de l’ouverture du document avec les données (qui comprennent la valeur du champ invisible), lancer le script d’ouverture de page suivant qui a pour effet de resélectionner l’item correspondant à la valeur stockée:

    position=this.getField(« ChampInvisible »).value;
    app.alert(« Nous allons placer le menu déroulant sur l’item « +position,3)
    this.getField(« MenuDeroulant »).currentValueIndices=position;

    Maquette pour ceux qui me la demandent gentiment…. :idee:
    Bonsoir

    alex
    Participant

    Je pense qu’il faut autoriser la manipulation (l’ouverture) du fichier cible par le script du fichier père. Pour cela on aura  recours à la propriété disclosed du document cible. Cela évite de passer un script de haut niveau.

    en réponse à : formulaire avec bouton radio et envoi par messagerie #49658
    alex
    Participant

    Essayez ceci:
    Créer un champ caché recevant par script la valeur du rang de l’item à sélectionner.
    Lors de l’ouverture du document un script positionnera le menu déroulant en fonction de la valeur de ce champ…

    en réponse à : condition dans un champ de formulaire #49662
    alex
    Participant

    La syntaxe est la suivante :
    if(this.getField(« Champ1 »).value==1)
    {
    //condition satisfaite.
    this.getField(« Champ2 »)hidden=true;
    }
    else
    {
    //condition non satisfaite..
    this.getField(« Champ2 »)hidden=false;
    }
    //Je vous laisse écrire la suite pour la seconde condition…

    en réponse à : Vue précédente et vue suivante #49532
    alex
    Participant

    Je viens de tester les deux fonctions sous Acrobat Reader 8 :
    Sous Acrobat 7 ou 8, créer deux fichiers pdf, pour aller vite:
    Options avancées>JavaScript>Déboguer>
    Dans la console saisir app.newDoc(); puis Enter avec la touche Enter du pavé numérique.
    Créer deux boutons:
    Le bouton P (précédant) et lui associer le script app.goBack();
    Le bouton S (suivant) et lui associer le script app.goForward();
    Enregistrer ce document sous différents noms.

    Sous Acrobat Reader 8 cette fois, ouvrir ces documents les uns derrière les autres. Tester les boutons P puis S !
    Le miracle se produit (en fait ça marche comme prévu, le bug des premières versions du reader 8 est corrigé).

    en réponse à : Vue précédente et vue suivante #49520
    alex
    Participant

    Votre script est bon. Essayez le sous Acrobat Reader 7 pour vous en convaincre !
    C’est app.goBack() qui est en cause.

    alex
    Participant

    Bonjour à tous. Je fais un petit retour au JavaScript. A ma connaissance, il n’est pas possible de capter ces évènements avec JavaScript mais je peux me tromper. Par contre on peut inhiber l’apparition des menus et donc inciter l’utilisateur à cliquer sur les boutons. Placer le script en ouverture de page soit par batch soit par programme JavaScript.

Affichage de 9 réponses de 595 à 603 (sur un total de 603)