I'm not sure how tricky it is in JavaScript... function doit(obj) { obj = obj.form; i = 0; while (obj.elements[i] != null) { if (obj.elements[i].type.toLowerCase() != "button") { obj.elements[i].value = ""; } i++; } }
Attach this to the onClick event of a button in the form you want to clear, passing "this" as the argument, and that should do the trick. You might have to tweak it a little bit (for instance, I'm not sure it will clear file type input fields, checkboxes or radios), but it's probably close. Depends on your requirements and whether the round-trip to the server is acceptable or not. I tend to want to avoid any server trips I can, and something like this seems like a purely GUI function, so strikes me as a place whether the server doesn't need to be involved. -- Frank W. Zammetti Founder and Chief Software Architect Omnytex Technologies http://www.omnytex.com On Mon, November 29, 2004 11:25 am, Pilgrim, Peter said: > >> -----Original Message----- >> From: aris [mailto:[EMAIL PROTECTED] >> >> >> Instead of a reset you could use a simple button and the >> related onClick >> event to call a javascript that sets all field to "". >> What do you think about this "workaround"? >> Take note that it isn't an expected behaviour for a reset >> button. I suggest >> you to name such a button with a value different from >> "reset". What do you >> think about "wipe" or "erase"? >> Bye, >> aris. >> >> ----- Original Message ----- >> From: "O. Oke" <[EMAIL PROTECTED]> >> To: <[EMAIL PROTECTED]> >> Sent: Monday, November 29, 2004 3:01 PM >> Subject: Reset button does not clear JSP fields >> >> >> > Please help! >> > >> > Background >> > ========== >> > I retrieve data from the database, copy the data into >> > an Action Form, the data is then automatically entered >> > into corresponding fields. >> > >> > >> > After viewing the data, I want the RESET button to >> > empty all fields whenever it is clicked. Presently, >> > after clicking the RESET button, all fields still have >> > data. I believe the fields are repopulated with the >> > data in the Action Form. >> > >> > Does the RESET button have to forward to an Action >> > class that in turn replaces the relevant Action Form >> > in the relevant scope with an Action Form that has no >> > data? If not, can you please tell me the conventional >> > Struts way of setting all JSP fields to empty. >> > > > There is no conventional method. I recommend that you > avoid <html:cancel> because it is slightly confusing. > > The way I did is, is assume that RESET or REVERT button > is just same behaviour to a SUBMIT button in terms of Struts > > See below > >> > Note: In the reset method of the Action form, I set >> > all fields to "" . >> > >> > Thank you. >> > >> > O. Oke > > > ==////== > > What kind of reset functionality do you need ? > > 1. Reset as in "Clear" > > Clear all the input fields in a HTML Form to be blank. > > 2. Reset as in "Revert" > > Change all the input fields back to their original values, > before the user edited the form. > > > With (1) you can write a function with JavaScript to navigate > your around the DOM for your HTML Form element. You can > make an Struts Action that clears the ActionForm for you > (the so-called "going back to the server" option). > > With (2) you can program it with JavaScript, quick tricky > to do but not impossible. It is much easier to do this > inside server side Java. You will need to make the ActionForm > session scope. It will have to have to duplicate beans or > delegated beans inside, but if you know Commons BeanUtils > you can copy the value of one bean to another easily. > > I would use delegated beans for this to implement (2) revert > > class EmployeePayrollBean { ... } > > class SomeDahForm extends ActionForm { > > EmployeePayrollBean payroll = ... ; > EmployeePayrollBean payroll_backup = ... ; > > // assume getter/setter methods exists > } > > In the Action itself > > class SomeTypeOfAction extends Action { > > public void execute( ... ) { > > if ( button.equals("REVERT") { > > BeanUtils.copyProperties( > yourform.getPayroll(), > yourform.getPayrollBackup() ); > // forward request back to JSP/view > } > } > } > > Because of the "nested" properties in Struts/Commons BeanUtils/JSTL the > above shouldn't be a problem for creating a JSP. > > It is trivial to take the Common BeanUtils API to write a ``GenericBean'' > resetter that will reset all properties of a POJO to > either 0, 0.0F, 0.0, "" , null > (but be very careful list Java Collections!!!) > > HTH > > -- > Peter Pilgrim > Operations/IT - Credit Suisse First Boston, > 10 South Colonnade, London E14 4QJ, United Kingdom > Tel: +44-(0)207-883-4497 > > > ============================================================================== > This message is for the sole use of the intended recipient. If you > received > this message in error please delete it and notify us. If this message was > misdirected, CSFB does not waive any confidentiality or privilege. CSFB > retains and monitors electronic communications sent through its network. > Instructions transmitted over this system are not binding on CSFB until > they > are confirmed by us. Message transmission is not guaranteed to be secure. > ============================================================================== > > > --------------------------------------------------------------------- > 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]