Coldfusion - retaining form input when refreshing

Can anyone tell me how to retain form input when refreshing.

I have a form with quite a few input boxes and so on, once the user has filled out the form and submitted, coldfusion will validate the form and bring back any missed fields or errors, this in turn wipes the form clean.

I've used "preservedata" before but im not using cfform, just a plain form tag.

So I guess im asking if there is any other way to preservedata on refresh?

thanks in advance.
LVL 2
CurtinPropAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Ryan ChongCommented:
try use

#form.variable# ?

something like:


<cfparam name="form.myfield" type="string" default="" />

then:

  <input name="myfield" type="text" id="myfield" value="#form.myfield#">
0
CurtinPropAuthor Commented:
thast what Im using at the moment, seems to work ok for most of the input fields how one textarea always clears on refresh.

my code for most of my input forms is as shown in snippet (similiar to above):


<!--- example for form.email --->
 
<cfparam name="form.email" default="">
 
<input type="text" id="Email" class="inputbox" name="Email" message="" validateat="onServer" value="#FORM.Email#" size="30" > 
 
 
<!--- example for form.comments --->
 
<cfparam name="FORM.Comments" default="">
 
<textarea name="Comments" id="Comments" cols="40" rows="6" wrap="hard" class="inputbox" message="Please describe your query in here" value="#FORM.Comments#"></textarea>

Open in new window

0
CurtinPropAuthor Commented:
The form also wipes drop downs and checkboxes, so would be ideal to cater for that data to.

0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

azadisaryevCommented:
if, as you say, you are using regular FORM instead of CFFORM, the regular html textarea field does not have a VALUE attribute. instead of using value="#form.comments#" in your textarea, put the actual value between the opening and closing tags: <textarea ...>#form.comments#</textarea>

as for checkboxes and radio buttons, the general principle is similar:
<cfparam name="form.mycheckbox" default="0">
<cfparam name="myradiogroup" defualt="no">
<input type="checkbox" name="mycheckbox" value="1" <cfif form.checkbox eq 1>checked="checked"</cfif>><label for="mycheckbox">my checkbox</label>
<input type="radio" name="myradiogroup" value="no" <cfif form.myradiogroup eq 'no'>checked="checked"</cfif>>No <input type="radio" name="myradiogroup" value="yes"<cfif form.myradiogroup eq 'yes'>checked="checked"</cfif>>Yes

hth
0
azadisaryevCommented:
oops, the second cfparam in my sample should, of course, be
<cfparam name="form.myradiogroup" defualt="no">
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
CurtinPropAuthor Commented:
thats spot on AZ, how about drop downs? im assuming its the same sort of process?
0
azadisaryevCommented:
yep, exactly the same with regular selects:

<cfparam name="form.myselect" default="0">
<select name="myselect" size="1">
<option value="0" <cfif form.myselect eq 0>selected="selected"</cfif>>Option 0</option>
<option value="1" <cfif form.myselect eq 1>selected="selected"</cfif>>Option 1</option>
...
</select>

if your dropdown is populated by a query, it is just same easy:
<cfparam name="form.myselect2" default="1">
<select name="myselect2" size="1">
<cfloop query="somequery">
<option value="#somequery.valuecolumn#" <cfif form.myselect2 eq somequery.valuecolumn>selected="selected"</cfif>>#somequery.displaycolumn#</option>
</cfloop>
</select>

with multiple-selects it is just a tad bit more complicated, since they store the selected values as a comma-delimited list:
<cfparam name="form.mymultiselect" default="1,4,5">
<select name="mymultiselect" multiple="true" size="5">
<option value="0" <cfif listfindnocase(form.mymultiselect, '0')>selected="selected"</cfif>>Option 0</option>
<option value="1" <cfif listfindnocase(form.mymultiselect, '1')>selected="selected"</cfif>>Option 1</option>
...
<option value="5" <cfif listfindnocase(form.mymultiselect, '5')>selected="selected"</cfif>>Option 5</option>
...
</select>

same approach applies to a group of checkboxes with same name but unique values - the selected values in this case are stored as a comma-delimited list in a single form variable.

hth
0
CurtinPropAuthor Commented:
Champion!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
ColdFusion Language

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.