Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn More

View all

Sign in to view all badges

"xfa.data.nodes.remove" wreaking havoc on dynamic forms

Avatar

06-01-2009

I have a web service that I created using Workbench, and it is using the Query Multiple Rows as XML component. It returns multiple items depending on criteria supplied by the form filler. The data is being placed into a drop down field. In order to facilitate this I followed what I had read previously in these forums, which is to load the xml into the DOM and then navigate to the nodes needed and loop through and add then into the drop down. That works great. The problem happens when I want to reset the data in the drop down in order to facilitate another query. So what happens in the form is:



A user is presented with a drop down that has two options, to 'add new object', or to 'edit existing object'.

If the user selects 'add new object', a blank form is displayed and the user can fill it out. Once the form is filled out, a web service takes the information and creates a row in the database.

If the user selects 'edit existing object' a web service fires and brings back xml data and places the data into two separate drop downs, one for 'staff lead' and one for 'departments'. When they select an option, another web service fires to query the database based on the selection. It works fine the first time. But say someone decides to change an option from either the 'staff lead' or the 'departments' drop downs, which would logically change the criteria for the query, things get crazy. I have to use the xfa.data.nodes.remove command in order to remove the nodes from the DOM so that the next query comes in and loads into the DOM correctly. If I don't do this, then the drop down keeps the previous data in it.

The problem is that once you use the command on a Dynamic form (this is important, the form must be dynamic.) things start disappearing on the form. Can't figure out why. Help...



Very important: The form needs to be a dynamic form. The problem does not happen on static forms.



Mike

Replies

Avatar

Avatar
Boost 500
Level 10
pguerett
Level 10

Likes

612 likes

Total Posts

7,689 posts

Correct Reply

692 solutions
Top badges earned
Boost 500
Boost 50
Boost 5
Boost 3
Boost 250
View profile

Avatar
Boost 500
Level 10
pguerett
Level 10

Likes

612 likes

Total Posts

7,689 posts

Correct Reply

692 solutions
Top badges earned
Boost 500
Boost 50
Boost 5
Boost 3
Boost 250
View profile
pguerett
Level 10

06-01-2009

Are you loading you data into a separate root node ...then when you remove it you are only affecting your data and not the real data dom. Do not put load your xml into xfa.datasets.data.

Avatar

06-01-2009

OK Paul that's an eye opener. I have been loading it into the datasets. The syntax looks like this:



xfa.datasets.dat.loadXML()



So where should I load it?

Avatar

Avatar
Boost 500
Level 10
pguerett
Level 10

Likes

612 likes

Total Posts

7,689 posts

Correct Reply

692 solutions
Top badges earned
Boost 500
Boost 50
Boost 5
Boost 3
Boost 250
View profile

Avatar
Boost 500
Level 10
pguerett
Level 10

Likes

612 likes

Total Posts

7,689 posts

Correct Reply

692 solutions
Top badges earned
Boost 500
Boost 50
Boost 5
Boost 3
Boost 250
View profile
pguerett
Level 10

06-01-2009

I suggest that you go through a debug exercise to see what you are doing to the DOM. Create a large multiline field on the form. Make it top justified. Now you can use the command fieldname.rawValue = xfa.datasets.saveXML("pretty") to dump the results of the Dom into that field. You can see where you are adding it. Make sure that your nodes do not interfere with other nodes that are there. That saveXML() function can be used on any node in the dom ....you simply have to navigate to the desired node (i.e. xfa.datasets.data.form1.Page1.saveXML("pretty");

Avatar

06-01-2009

I have looked at the result set and everything looks good to me. I have my root node and all of the form data elements under it, then I have the staff lead, and department node. Each have a child node named repeating, (I've tried different names there and it didn't make a difference.) and inside the repeating node are the values. In my remove statement I point to the either department or staff lead nodes (depending on which I need to clear.) and go through the xfa.data.nodes.remove step. What's interesting is that somehow this command is changing the visibility of subforms, which are not listed anywhere in the data DOM? I'm more confused now.



Mike

Avatar

Avatar
Boost 500
Level 10
pguerett
Level 10

Likes

612 likes

Total Posts

7,689 posts

Correct Reply

692 solutions
Top badges earned
Boost 500
Boost 50
Boost 5
Boost 3
Boost 250
View profile

Avatar
Boost 500
Level 10
pguerett
Level 10

Likes

612 likes

Total Posts

7,689 posts

Correct Reply

692 solutions
Top badges earned
Boost 500
Boost 50
Boost 5
Boost 3
Boost 250
View profile
pguerett
Level 10

07-01-2009

Can you post the form to livecycle8@gmail.com and I will have a look.

Avatar

Avatar
Validate 1
Level 3
Han_Dao
Level 3

Likes

3 likes

Total Posts

409 posts

Correct Reply

3 solutions
Top badges earned
Validate 1
Boost 3
Boost 1
Affirm 3
Affirm 1
View profile

Avatar
Validate 1
Level 3
Han_Dao
Level 3

Likes

3 likes

Total Posts

409 posts

Correct Reply

3 solutions
Top badges earned
Validate 1
Boost 3
Boost 1
Affirm 3
Affirm 1
View profile
Han_Dao
Level 3

24-02-2009

Hi Mike,



I have the same problem and wondering if you have able to solve the problem. If yes, could you please post your solution.



Thanks,

Han Dao

Avatar

Avatar
Affirm 3
Level 2
JohnBrinkman
Level 2

Likes

0 likes

Total Posts

20 posts

Correct Reply

3 solutions
Top badges earned
Affirm 3
Affirm 1
View profile

Avatar
Affirm 3
Level 2
JohnBrinkman
Level 2

Likes

0 likes

Total Posts

20 posts

Correct Reply

3 solutions
Top badges earned
Affirm 3
Affirm 1
View profile
JohnBrinkman
Level 2

25-02-2009

I have posted a blog entry with a sample that includes a debugging tool -- a subform that displays the contents of the form dom and data dom and the relationships between them.

Have a look at:

http://blogs.adobe.com/formfeed/2009/02/form_dom_debugging_tool.html



John Brinkman