DRSLT
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="y es"...>. 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?
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="y
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?
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.
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
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I wanted to split the points on this but it didn't work.
<cfformitem type="script">
function checkRadio()
{
if(radioControlName.select
{
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.