• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Set Destination When Creating Automated Button

Community Beginner ,
Aug 21, 2020 Aug 21, 2020

Copy link to clipboard

Copied

I've been using buttons to create custom buttons throughout my PDF. Is it possible to set a destination in the javascript or does that have to be manual?

TOPICS
Create PDFs , How to , PDF forms , Standards and accessibility

Views

646

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Expert , Aug 24, 2020 Aug 24, 2020

Change this line:

newButton.setAction("MouseUp", "this.getField("BACK-A" + aCount).setFocus();")"
To:

newButton.setAction("MouseUp", "this.getField(\"BACK-A" + aCount + "\").setFocus();")"

Votes

Translate

Translate
Community Expert ,
Aug 21, 2020 Aug 21, 2020

Copy link to clipboard

Copied

JavaScript can only apply JS-based actions to a button. A script can be used to make the document switch to a specific page, or even to a specific page view, or a Named Destination, though. What exactly do you want to happen when the button is clicked?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 24, 2020 Aug 24, 2020

Copy link to clipboard

Copied

I'm using a single button that creates other buttons on click. I'd like those buttons to have a destination attached to them, so wherever I place them in the document, they can be navigated to. I see that I need to keep recalibrating my destination buttons every time more information created within my PDF. Could I use Javascript to create destinations? 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 24, 2020 Aug 24, 2020

Copy link to clipboard

Copied

No. However, you can jump to a button's location, even if it's not always the same, like this:

this.pageNum = this.getField("Button1").page;

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 24, 2020 Aug 24, 2020

Copy link to clipboard

Copied

I'll try that out for sure! Thanks for the help!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 24, 2020 Aug 24, 2020

Copy link to clipboard

Copied

Another option is to use the setFocus command, which will cause the cursor to "jump" to the field, and to the page to change to where it's located:

 

this.getField("Button1").setFocus();

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 24, 2020 Aug 24, 2020

Copy link to clipboard

Copied

 

 

I've been trying to use the setFocus method dynamically by assigning it to a "setAction." I placed in my new button and each time I try it fails to work. 

 

 Below is where I want setFocus, a new button would be able to navigate to a reference button called (i.e. "BACK-A1, A2, A3, etc.")

 

Is focus only used once throughout the document? I would love to assign each button to its own unique "focus point."

 

 function CreateField(){

     var newButton = this.addField("newButton" + aCount, "button", this.pageNum, [0, 20, 80, 0]);

     aCount++

     newButton.buttonSetCaption("FINDING" + " A-" + aCount);

    ** Below is the issue **

     newButton.setAction("MouseUp", "this.getField("BACK-A" + aCount).setFocus();")"

     return newButton;

}

CreateField();

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Aug 24, 2020 Aug 24, 2020

Copy link to clipboard

Copied

I'd expect to see plenty of errors in the JavaScript log from this code. Do you see any?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 24, 2020 Aug 24, 2020

Copy link to clipboard

Copied

Change this line:

newButton.setAction("MouseUp", "this.getField("BACK-A" + aCount).setFocus();")"
To:

newButton.setAction("MouseUp", "this.getField(\"BACK-A" + aCount + "\").setFocus();")"

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 24, 2020 Aug 24, 2020

Copy link to clipboard

Copied

LATEST

That worked perfectly. Thank you! I always forget the "\".

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines