Link to home
Start Free TrialLog in
Avatar of DRSLT
DRSLTFlag for United States of America

asked on

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?
Avatar of digicidal
digicidal
Flag of United States of America image

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.
Avatar of DRSLT

ASKER

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.
ASKER CERTIFIED SOLUTION
Avatar of IGBMizuno
IGBMizuno

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of DRSLT

ASKER

I wanted to split the points on this but it didn't work.