Thanks James, now all the other stuff that I read about reset makes sense. I had been assuming that since I don't have a reset function for my form that I didn't need it.
Now I'm having issues with my nested forms. Does anyone have a recommendation on how to deal with them? This is what I've done: <... snip from reset method ...> if (thePage == 2) { if (map.containsKey("dfcAPInd")) map.put("dfcAPInd", Boolean.FALSE); subformReset("projectTypes", map, actionMapping, httpServletRequest); <... end snip from reset method ...> <... snip subformReset method ...> private void subformReset(String key, Map map, ActionMapping actionMapping, javax.servlet.http.HttpServletRequest httpServletRequest) { if (map.containsKey(key)) { ArrayList list = (ArrayList)map.get(key); Iterator it = list.iterator(); DynaValidatorSimpleXrefForm widgetFormBean; while (it.hasNext()) { widgetFormBean = (DynaValidatorSimpleXrefForm)it.next(); widgetFormBean.reset(actionMapping, httpServletRequest); } } } <... end snip subformReset method ...> The reset method in the nested form only resets a couple of checkboxes. But now I get validation errors. The validation on the nested forms is as follows: <... snip validation ...> <form name="SimpleXrefForm"> <field property="isSelected" depends="requiredif"> <arg0 key="xref.isSelected"/> <var> <var-name>field[0]</var-name> <var-value>comments</var-value> </var> <var> <var-name>fieldTest[0]</var-name> <var-value>NOTNULL</var-value> </var> <var> <var-name>field[1]</var-name> <var-value>BMGS</var-value> </var> <var> <var-name>fieldTest[1]</var-name> <var-value>NOTNULL</var-value> </var> <var> <var-name>field[2]</var-name> <var-value>ADDL</var-value> </var> <var> <var-name>fieldTest[2]</var-name> <var-value>NOTNULL</var-value> </var> <var> <var-name>fieldJoin</var-name> <var-value>OR</var-value> </var> </field> </form> <... end snip validation ...> It is like all the nested forms throw an error if they haven't been filled out at all. So if I have 10 projectTypes and I check off 3 of them, I get 7 errors. Any ideas? Thanks in advance, J --- In [EMAIL PROTECTED], "James Mitchell" <[EMAIL PROTECTED]> wrote: > The problem is that the browser submits a value of "on", when you check a > checkbox and submit the form. However, if you uncheck the checkbox and > submit the form, the browser does _not_ submit "off" or "false" or anything. > So, with your form sitting in session, how will it know that you want it > "off"? > > Here's how: you need to implement reset() method on your form. In that > method you need to set the field that is backing the checkbox to "false" or > "off". When Struts processes the request, it will call reset, then > repopulate based on request....effectively giving the _appearance_ that the > browser sent "off". > > > -- > James Mitchell > Software Engineer / Open Source Evangelist > EdgeTech, Inc. > 678.910.8017 > AIM: jmitchtx > > ----- Original Message ----- > From: "Janice" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Thursday, February 03, 2005 6:32 PM > Subject: wizard form and checkboxes that won't turn off > > > Could somebody please refer me to a solution to this? > > I have a form bean (session-scoped) that is displayed over 3 pages. There > are "back" and "next" buttons. Once a checkbox is selected and the user has > moved to another page, it can't be cleared again. I have read that this is > because the checkbox item is now in the session and simply unchecking it > does not remove it from the session. What I haven't found is a solution or > workaround. > > I am using struts 1.1. > > Thanks very much in advance, > J > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]