Looping Through Dynamic Form Fields

Posted on 2010-09-13
Medium Priority
Last Modified: 2012-06-21
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.
Question by:paldie
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
LVL 19

Expert Comment

ID: 33662490
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]>

Author Comment

ID: 33662510
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.
LVL 19

Accepted Solution

erikTsomik earned 2000 total points
ID: 33662617
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#")>

Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI


Author Closing Comment

ID: 33662653
Thanks for the help.  That was exactly what I was looking for.
LVL 19

Expert Comment

ID: 33662779
Also for performance do not recommend using evaluate

Use this notation

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

LVL 19

Expert Comment

ID: 33662783
thank you

Author Comment

ID: 33662859
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.
LVL 19

Expert Comment

ID: 33662917
sure. Are you using a coldbox?

Author Comment

ID: 33662987
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).


Featured Post

Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Recently while working on a project I got a very annoying cfdocument has no body error message. I had never seen this error before. So I checked the code. The code was pretty simple; it was Just showing me the cfdocumnt tag and inside that tag a …
Boost your ability to deliver ambitious and competitive web apps by choosing the right JavaScript framework to best suit your project’s needs.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…
Suggested Courses

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question