Expand my Community achievements bar.

SOLVED

Beginner question: How do I hidden a page after to click on the button?

Avatar

Level 4

Hello!

My name is Rafael. I speak from Brazil.

I am new user on the AdobeCycle software

I am doing a form and I need help, please.

My project form has three pages:

1ª Page - Instrucion

2ª Page - form with fields to be fill

3ª Page -  (This page will be hidden). This page will get the informations from the informations filled by user at the 2ª Page . Will be just text.

What Do I want?

When the user to click on the button to send to e-mail, I want that the page with form is hidden and show the 3ª Page only with the information (no fields, only text filled). I want to be send the PDF file to e-mail only with the 1ª Page and 3ª Page (just text with the information).

How do I do this? How do I do the 3ª Page (geting the informations filled of the page two)?

1 Accepted Solution

Avatar

Correct answer by
Level 10

No problem Rafael,

Adobe have a guide here that is very useful for accessing a lot of the features of fields: http://partners.adobe.com/public/developer/en/tips/CalcScripts.pdf

I refer to it a lot.

So on page 164, it looks at how to access/change the colour of the caption AND the value:

TextField1.caption.font.fill.color.value = "R,G,B" // changes the caption colour

TextField1.font.fill.color.value = "R,G,B" // changes the value colour

If you want to change the colour of the border, then this requires a different script. The sample on the blog we mentioned, shows examples on page 2 of changing the colour of borders (second row down): http://assurehsc.ie/blog/index.php/2010/06/laying-out-a-form/

For example:

var vName = this.name.toString();

xfa.resolveNode(vName + ".ui.textEdit.border.edge").stroke = "solid";

for (var i=0; i<4; i++) {

  this.ui.oneOfChild.border.getElement("edge",i).color.value = "255,153,0"; //orange tinge

  xfa.resolveNode(vName + ".ui.textEdit.border").getElement("edge",i).thickness = "0.0200in";

}

In addition here are some links that may be of interest to you: Re: Books or guides for Livecycle Designer

Good luck,

Niall

View solution in original post

32 Replies

Avatar

Level 10

Hi,

To hide a page you would use the presence property,like pageReference.presence = "hidden";.

The three states that you are interested in are "visible", "invisible" and "hidden". Invisible will just hide the content, but leave its space on the form. Hidden will hide the content, but also allow other elements to take its space. So you will set the 2nd page to hidden.

page2.presence = "hidden"; 

Here are two examples:

https://acrobat.com/#d=Le8wW3I35Y-Cwd4ygWIoQw

https://acrobat.com/#d=clONj2ggAZmRNgDEghaEFA

You will need to set your pagination for pages 2 and 3 to "Follow previous". The form will also need to be saved as Dynamic.

Good luck,

Niall

Avatar

Level 4

Hello people!

Thanks for reply, but as I am a newest user, I didn´t understand yet. Sorry.

Please, can you give me a example? Can you make a file as example for me? Can be just simple file.

Thanks so much

Avatar

Level 10

Hi,

Here ia another sample. https://acrobat.com/#d=d7ycoXF0I2j6ts0g3TF5IQ

The script is in the click event of the Email button on page 2.

Have a look at this script, the pagination of each page (Follow previous), and that the form is saved as dynamic.

Hope that helps,

Niall

Avatar

Level 4

Hello!

Is exact what I wanted! Thanks very much!!!!!!!!!!!! You are a maximum

But Now, I have a problem

- No is possible to save the form in Adobe Reader???? Yes, because when show the Page 3 (just text), will have a button to save or send by e-mail. Then I want that my client has the 3 choice: Or change the informations filled (then back to Page with field) or save in yours computer or send by e-mail the Page 3 (just text, not Page with field) and the Page 1 (with the instrucion) booth in format PDF with the information filled. I tryed to put the button submet but show a alert saying that I can't to save with Aobe Reader.

Can you help me? Pleasssse Say me that is possible, please.

If you can complet the exemple with this button, I will be Happy.

Importante: It's worked just Adobe Acrobat

Avatar

Former Community Member

Hi,

I think you can not save in reader unless the form has been "reader extended" or processed via Adobe Forms.

Acrobats help says this

Enable Reader users to save form data

Ordinarily,  Reader users can’t save filled-in copies of forms that they complete. However, you can extend rights to Reader users so they have the ability to do so. These extended rights also include the ability to add comments, use the Typewriter tool, and digitally sign the PDF.

  1. Open a single PDF, or select one or more PDFs in a PDF Portfolio.
  2. Choose Advanced > Extend Features In Adobe Reader.

These extended privileges are limited to the  current PDF. When you create a different PDF form, you must perform this task again if you want to enable Reader users to save their own filled-in copies of that PDF.

you can definately add an email return button and do the changes - but the save will need to be as above

good luck

Avatar

Level 10

Hi,

Greg is right, users with Reader need to have the save functionality enabled to allow them to save the data inputted into the form.

The 'Email form' button is set to return the form as a PDF. This requires the form to be saved before it is emailed. If the user has Reader and the form has not been enabled, this cannot happen and so the form will not be emailed.

However you can still get the form data back. Just change the submit format from PDF to XML: change this part of the script: "cSubmitAs:"PDF"" to "cSubmitAs:"XML"". Sending a form back as XML does not require the form to be saved and therefore users with Reader will be able to do this, even if the form is not reader enabled.

I have a summary of features that are available and restricted depending on whether the form is Reader Enabled and what the user has (Acrobat or Reader). http://assurehsc.ie/blog/index.php/2010/05/using-livecycle-forms-in-acrobat-and-reader/.

Hope that helps,

Niall

Avatar

Level 4

Yeahhhh Yeahhhhh Yeahhhh!!! You are the best!!!!! Thanksss!! It's worked!!!!!

I am very happy!! Thanks guys!!! Thanks so much!!!

I need now to take just something questions:

1 - Is possible I put a "text" tool instead of "TextField". Yes, because as it is in TextFiled, I can't to change the text fonts or put line break.

2 - Can I transform a imagem in a button? How do I do that?

3 - Instead of change the page to hidden, Can I delete it? How do I do that?

4 - How do I put a save button in my form?

Just this guys! Thanks!! You are very special! Helped me very much! I am very happy with the attentions of you!!!

Avatar

Level 10

Hi Rafael,

Glad you have it working.

I'll try and help you out with some screen shots:

You can use a static text object to provide text in the form. The user does not interface / interact / change this text at runtime.

Parallels Desktop1.png

If you want to use a textfield, you can set this to multiple lines in the Object > Field tab:

Parallels Desktop1.png

In relation to graphical buttons, you can place a standard button over an image. Then set the button properties to no fill and no border. Here is an example: https://acrobat.com/#d=BI-C*vM-cryysNXA9Hpt5A

For deleting pages, you can try the removeInstance, but you would need to set it up as repeating and there may be issues. I would stick with hidden for the time being.

For the save button we have a sample on our blog: http://assurehsc.ie/blog/index.php/2010/05/script-to-access-acrobat-menu-items/

This includes script for a save button.

Hope that helps,

Niall

Avatar

Level 4

Hello

Again, thanks for reply.

I didn´t understand yet.

For example: If same I using the object "FieldText", Can I to change the fonts and color of the text?

I still can´t  see the links that you posted, because I am in my job (I don´t have access).


Just another question.

- Is possible to change the name file (PDF) when send by e-mail or save? I want it stays with a name default.

Avatar

Level 10

Hi,

Yes, you can change the font (size, weight, colour, etc) in the Font tab.

Parallels Desktop1.png

Next to this, is the Paragraph tab where you can set the text alignment and margins.

Notice that there is a dropdown where you can specify what you want to edit: the caption OR the value OR both the caption and value at the same time (default).

You can do this for all objects.

In relation to the save button, the easiest solution is to save with the same name for the PDF. You can script a button to Save As with a new name, HOWEVER this is a security concern and would require a Trusted Function. This is a folder level javascript that would need to be loaded on every persons computer. I would NOT recommend this, as it is difficult to implement AND difficult to maintain AND it may not work in the future if Adobe's security policy changes.

Good luck,

Niall

Avatar

Level 4

Hi!

You are sure. Sorry I expresion me roung.. I want to change name just when send by e-mail. Also it is not possible? To save, I understood that you wanted to say, but to send by e-mail, I believe that don´t have problem.

Avatar

Level 10

Hi,

I hope I am understanding you correctly.

Any script that changes the name of a form, without the users knowledge or authorisation is considered a security risk. This requires a trusted function, which is not something undertaken lightly.

There is a long thread here, which goes through the steps: XFA form with button to save file with unique filename

But, if you are starting out, I would not recommend trying to change the filename.

It is easier to script the subject line and body message of the email, to reflect the data in the form.

Niall

Avatar

Level 4

Hi my friend Niall!

Backing about question of the object Fieldtext or Text. Can I use the object TEXT? Is beucase I want to format the text so:

Example:

Name: Rafael Silva

Age: Male

The "Name" and "Age" I want to stay in negrit adn with line break. Is it possible? I want can select all the text. So I think the object text would be solution. Or can you give me a example of the html formation at this code:

<script>

$ = concat("This form was filled out by ", page2.nameField, " on the ", page2.dateField, ". ", page2.nameField, " works for ", page2.companyField, ".")

</

</script>

I tryed but I can't use the object text (giving the information from form as you example using the object FieldText)

Avatar

Level 4

Hello!

Can you help me?

Sorry to make a lot of questions! Sorry also if you already answered and I dind't understand, my english is a litle bad. So I already everything that you answered, just this (about the object text) I didnt understand.

Thanks.

Avatar

Level 10

Hi,

I hope we can sort out your problem.

I have a sample here which uses 'text' objects and 'textfield' objects. I hope it helps you: http://assurehsc.ie/blog/index.php/2010/06/laying-out-a-form/

Maybe if you could upload a sample of what you are trying to achieve, it would help finding a solution.

You can share your file at https://acrobat.com/ or https://www.yousendit.com/

This is a 'text' object:

Parallels Desktop2.png

'text' objects are static. You type in the information in LC Designer. The user cannot change the 'text' object when they open the form in Acrobat/Reader.

This is a 'textfield' object:

Parallels Desktop2.png

'textfield' objects allow you to set a caption and allows the user to input a value.

If you want to give instructions on a form, then you should use a 'text' object. But if you want the user to put information into the form, then you should use a 'textfield' object.

When working on a form in LC Designer, you should use the Script Editor to type script into an object's event.

LittleSnapper2.png

I hope this helps,

Niall

Avatar

Level 4

Hello

Look I am founding....I want the text is well within the:

Why do I want this?

Because when the information filled in on page two become static page 3, I will copy this information in a file of my control. And so it is easier that I can copy all at once

Name: Rafael

Country: BrazilI do not want that Name and Country they become like the legend. And I want everything to stay within TextFiel and formatted. So if I used the object Text would be easier to format and position.

IMPORTANT: I'm talking about page three, following the example that you gave (getting the information from page two)

This is your example that you gave me

<

script>

$ = concat("This form was filled out by ", page2.nameField, " on the ", page2.dateField, ". ", page2.nameField, " works for ", page2.companyField, ".")

<

script>

Avatar

Level 10

Hi Rafael,

I think I have an idea what you want.

The revised script is in the calculate event of the field on page3.

this.rawValue = "Name: " + page2.nameField.rawValue + "\nCompany: " + page2.companyField.rawValue + "\nDate: " + page2.dateField.rawValue;

This gives you a summary of the inputs on page3:

Parallels Desktop1.png

I have posted the revised sample here. https://acrobat.com/#d=xLP0V4exCrIniNsnCJWtzQ

The \n inserts a carriage return (new line). With this solution you will not be able to change the font colour, weight or size between the caption value and the field value.

I really hope that helps,

Niall

Avatar

Level 4

Yeahh!! it's worked.

But, Can't I use text object? Using the text object would be easier to format and position of the information in my forms. Using text object I could use up table. What I understood by your example, is that I can't format (negrit, color position).

Remember it: The user just going see the page 3, when he click on the button.

Example of how I would like to have:

Name: Rafael         Date: 05/12/2010

Country: Brazil       City: São Paulo

Avatar

Level 10

Hi,

You can't access the value of a text object.

This is why I am suggesting a textfield (object on page3). However you can make the textfield appear like a text object. Just set the appearance to no border, no fill.

If you want a mixture of bold/normal you can either use a textfield with a caption or a series of texfields.

Have a try based on the example.

Niall

Avatar

Level 4

Hello!!


It worked!!!  Now I already the page 3 it working perfect

I have some question


1 - At the Page 2 has a button with the name of "Generate form". When click, it hidden the page three. But my problem is: When anybody click on this button, I want to vericate if the required fields  are filled, but if I put the button as "submit" without the e-mail, It not works! I going put the button send e-mail only page 3

2 - How do I do to that a field stays only read when I click at the button Generate form from page two?

3 - How do I the following: If a field has a value, change a value of a variable.

4 - Is there anything funcion that give the three last letters of a variable or value of field?

5 - Is possible to change the color the marking of the fields doesn't filled?

Just this. I think you answering this questions, I will finish my form!

I want to leave here the my happyed for you are help-me. Because you, I will finish my form that I am trying to finish a lot of time! Thanks!!!! Thanks so much!!!!! Congratulation on you attention with the everybody users this forums!