Sorry, I missed the part that said your form was in the session. And I also forgot that I do subclass my DynaValidatorActionForm and add the following code to the reset().
public void reset(ActionMapping mapping, HttpServletRequest request) { this.initialize(mapping); } It works for me. Good luck with your solution. robert > -----Original Message----- > From: Jim Kennedy [mailto:[EMAIL PROTECTED] > Sent: Tuesday, March 30, 2004 5:02 PM > To: 'Struts Users Mailing List' > Subject: RE: Problem with html:multibox not clearing > > > Just an FYI, this did not work. I don't believe it's a reset() issue. From > other threads, it's the way an http request is sent when no checkboxes are > selected. Since nothing gets sent, nothing gets changed. I will write some > JavaScript to manually check to see if anything has been checked. If no > boxes are checked, I will artificially create a form element that has the > same name as the checkboxes. > > That's my solution. > > L8r and thanks > > > -----Original Message----- > From: Robert Taylor [mailto:[EMAIL PROTECTED] > Sent: Tuesday, March 30, 2004 4:00 PM > To: Struts Users Mailing List > Subject: RE: Problem with html:multibox not clearing > > Jim, you can try this in your dynavalidatorform declaration: > > <form-property name="amenity" > type="java.lang.String[]" > initial="{}"/> > > When you invoke an action, Struts will automatically reset your form. > So when you hit submit, Struts will invoke form.reset() which will reset all > your form properties to their initial values. > > If you declare your initial value as an empty array (as above), then if > nothing is checked, the array will be empty. If something is checked, it > will be populated by the values in the request. > > Give it a try. > > robert > > > > > -----Original Message----- > > From: Jim Kennedy [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, March 30, 2004 3:42 PM > > To: 'Struts Users Mailing List' > > Subject: RE: Problem with html:multibox not clearing > > > > > > That's not what I had in mind. Thanks for the suggestion though. I > > found a thread that suggests that you must subclass dynavalidatorform > > and override the reset() method. Not really sure how that will help. > > > > My form is a multipage form and the dynavalidatorform is in the session. > > > > I now know why it happens, but are there any other suggestions? > > > > > > > > -----Original Message----- > > From: Wiebe de Jong [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, March 30, 2004 3:31 PM > > To: 'Struts Users Mailing List'; [EMAIL PROTECTED] > > Subject: RE: Problem with html:multibox not clearing > > > > This is an HTTP problem. If the user clears all the checkboxes, the > > browser doesn't send anything back to the server. In this case, it > > seems that all the checkboxes still have their default value. > > > > To fix this, I included a hidden checkbox on the form that is always > > checked. The user can't see or modify it, so it will always remain > checked. > > This ensures that the browser will always send back the checkbox list, > > even if all the checkboxes that the user can see are cleared. > > > > Wiebe > > http://frontierj.blogspot.com > > > > > > -----Original Message----- > > From: Jim Kennedy [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, March 30, 2004 12:06 PM > > To: 'Struts Users Mailing List' > > Subject: Problem with html:multibox not clearing > > > > I am using an html:multibox that is pretty much working fine except > > when I uncheck all choices. I am also using the logic:iterate tag to > > generate many checkboxes. If I have a single box checked I can't seem > > to uncheck it if it's the last one. If I have several checked, I can > > uncheck them one at a time and that works. At least until I get down > > to just one checked. Very odd. The problem seems to be that I can't > > get Struts to realize that there are no checkboxes checked after I submit > the form. > > > > I am using struts 1.1, with DynaValidatorForm's. Here's some of my code: > > > > ... > > <form-property name="amenity" type="java.lang.String[]" /> > > > > > > ... > > <td colspan="4"> > > <logic-el:iterate id="item" name="amenities" indexId="i"> > > <html-el:multibox property="amenity"> > > <bean:write name="item" property="code"/> > > </html-el:multibox> > > <bean:write name="item" > > property="description"/> > > </logic-el:iterate> > > </td> > > > > Don't think the above is the issue. It's something deeper I think. > > > > Any help is appreciated. > > > > Jim Kennedy > > IT Consultant > > > > > > > > --------------------------------------------------------------------- > > 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] > > > > > > --------------------------------------------------------------------- > > 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] > > > --------------------------------------------------------------------- > 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]