Expand my Community achievements bar.

Merging Forms

Avatar

Level 1

I hope someone has more experience with it than I do...I'm lost on this project....hopelessly lost.  Here is some background.  Hope it's clear.

Form A has a drop down with a choice of B,C,D, or E. Form A has 3 Subforms; 1,2, and 3.


Now, what I want to do is populate Form B with subforms from form A. Here is the catch though. If choice B is chosen I want only 1 and 3 to go over. If choice D is chosen I want just 2. So forth and so on.

I have no clue on how to make this happen. Hope someone can help a bit.

Thanks!

3 Replies

Avatar

Level 6

Question:

How do the forms exchange data? I mean how do FormB gets data from FormA? Templates them self can not communicate each other unless you are using LC workflow/Java or .Net web service in the background. Or if you use XML Export and Import in Acrobat then that is different.

Avatar

Level 1

Thanks for the reply.  I actually had some bad data given to me myself.  This may not be as hard as I originally thought.  The forms themselves do not need to communicate with each other.  What actually needs to happen is this:

I have a dropdown box with A, B, or C.

I have 1, 2, 3, and 4 sections.

If I select A I only want sections 1 and 4 to be fillable or shown.  If I select B I only want sections 2 and 3 to be fillabe or shown.

Hopefully that clears things up a bit.  We do not use LC Workflow/Java or .Net here either.

Thanks again!

Avatar

Level 6

It is simple: Here is what I would do........

1. Make the form dynamic

2. make each of those sections 1, 2, 3 and 4 as individual subforms say sub1, sub2, sub3, sub4

3. I would set the following property for the Dropdown "Commit On:" to "Select" under Object>>Field Tab.

and following is the JS that goes under "change" event.......for the Dropdown

//replace form.sub1.....2,3,4 with relevant SOMexpression.

If (xfa.event.change == "A") {

      form.sub1.precese = "visible";

      form.sub2.precese = "hidden";

      form.sub3.precese = "hidden";

      form.sub4.precese = "visible";

}

If (xfa.event.change == "B") {

      form.sub1.precese = "hidden";

      form.sub2.precese = "visible";

      form.sub3.precese = "visible";

      form.sub4.precese = "hidden";

}

//finally to repaint the screen you need the following.

xfa.layout.relayout();