> -----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]

Reply via email to