[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 603
  • Last Modified:

Looping Through Dynamic Form Fields

I am working on a form that initially has some fields, but the user can also add more dynamically.
All fields follow the name var#index# and price#index# where #index# is the number of lines in the form so far.  Also form fields are always 1 var field and 1 price field.  The extra fields are added via a jQuery function.
So now I need to process the form once submitted.  Is there a way I could loop over the fields to get the values?

Let me know if you need any code.

PS there is also one other field in the form called title.
PPS the form is in an application driven by the FW/1 framework so I don't have the form scope.  Instead I have the Request Context (RC scope) which essentially contains the request scope.
0
paldie
Asked:
paldie
  • 5
  • 4
1 Solution
 
erikTsomikSystem Architect, CF programmer Commented:
you need some kinda hidden variable on the form, so every time the Jquery add a row it adds 1 to that hidden variable. And then you will simply do the loop through that variable.

ANd do

<cfset t = form["name" & ID]>
0
 
paldieAuthor Commented:
That is exactly what I need to do.  I am not sure what you are doing on that cfset, but the first part I get and then I know exactly how to process it.
0
 
erikTsomikSystem Architect, CF programmer Commented:
so if you get the first part then you know then number of iteration. From here it is simple

something like this
<cfloop index="i" from="i" to="#form.hiddenField#">


<!---do the form evalaution here---->
<cfif isDefined("form.var#i#")>
<cfset var = Evaluate("form.var#i#")>
</cfif>

</cfloop>
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
paldieAuthor Commented:
Thanks for the help.  That was exactly what I was looking for.
0
 
erikTsomikSystem Architect, CF programmer Commented:
Also for performance do not recommend using evaluate

Use this notation

<cfset var=form["var#i#"]>

0
 
erikTsomikSystem Architect, CF programmer Commented:
thank you
0
 
paldieAuthor Commented:
Because the processing this withing FW/1 and everything is thrown into the RC struct would it be possible to call rc['var#i#']?  RC holds the form structure.
0
 
erikTsomikSystem Architect, CF programmer Commented:
sure. Are you using a coldbox?
0
 
paldieAuthor Commented:
No it is FW/1 (and Transfer ORM).  It is Sean Corfield's framework, which is a great introduction into Frameworks.  It doesn't use any XML files for configuration, instead it builds views, layouts, controllers, and services  by directory structure.  Have a full E-Commerce application built on it using 4 different sub-systems (mini applications).

http://github.com/seancorfield/fw1/
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now