Learn how to a build a cloud-first strategyRegister Now

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

How do I reset Session Variables (radio buttons) when Reset button is selected?

I have a flash form with radio boxes.  The user must select a radio button before submitting the form (required="yes").  If they don't fill out, complete, or check a required field they receive the flash messagebox telling them that it cannot be submitted because field(s) xxx are not completed.  All works well!!!

However, when the user clicks a reset button (<cfinput type="reset" ...>) then fills out all of the required fields with the exception of the radio button they are able to submit the form because the reset does not clear out the original selection for the radio button.

If I use a <CFDUMP var="#form#> I see that in the first instance the variable is not even initialized and that is whay it is being caught by the <cfinput type="radio"...required="yes"...>.  When I submit the form after a radio button has been clicked then the reset button is pressed I see that the variable is initialized using CFDUMP and that it is an empty string.

Is there a way to use the onclick function of the reset button to kill it (such as structclear(inputname)) so that the user cannot submit without selecting the radio button again?
0
DRSLT
Asked:
DRSLT
  • 2
1 Solution
 
digicidalCommented:
You can extend flash forms by using the <cfformitem type="script"> tag and you could then write a function that would check the state of the actual control on the flash form.  I'm not the best at actionscript so I might have a mistake here that someone else will catch but something like:

<cfformitem type="script">
function checkRadio()
{
if(radioControlName.selectedData != '')
   {
      return true;
      }
      else
      {
      alertMsg('Please select one of the radio buttons');
                return false;
   }
}
</cfformitem>

Then onSubmit just 'return checkRadio()'.

I probably have something wrong so hopefully someone that is better with actionscript can help.  Here is some background info which helps with the concepts tho:

http://www.macromedia.com/cfusion/webforums/forum/messageview.cfm?catid=22&threadid=1126188&enterthread=y

http://www.cfform.com/flashforms/invoke.cfm?objectid=9C3432E6-4E22-1671-5365802394A2DD57&method=full

Alternately you could write a function to set the value back to whatever the default was manually and add the call to that function to the onClick for the reset button.  That way it would be in the initial state.

Hope that helps some.
0
 
DRSLTAuthor Commented:
Thanks for the response.

I thought about using this sort of tactic as a last resort, but I would like to just be able to reinitialize all of the controls on the page so that the <...required = "yes"...> attribute of the control which is built into flash forms could simply do what it is supposed to do.  My other 'last resort' option was to submit the form with a reset button and reload the page and then if the form value of the reset button is present I can then clear all session variables using structclear and continue loading the form resulting in the empty form being redisplayed.
0
 
IGBMizunoCommented:
Write your own validation and forget about the validate attribute when using radio buttons.  It is the only good way!
0
 
DRSLTAuthor Commented:
I wanted to split the points on this but it didn't work.
0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

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