Yeah this should work, If i can't find an alternative I most likely will take
this approach. But I was hoping to find a solution that didn't require me to
code a lot of logic using js in the client side. It seems a lot easier if I
can just specifiy the actions with a few controls and the rest is processed
at the server side.
Richard Sayre wrote:
>
> I'm not sure if this is what your are looking for, it is doing the
> control logic on the client side. Instead of using s:submit to submit
> the form you could make 3 input buttons:
>
> <input type="button" onClick="doAction1()"/>
> <input type="button" onClick="doAction2()"/>
> <input type="button" onClick="doAction3()"/>
>
> and the write the following javascript:
>
> function doAction1() {
>
> document.getElementById("formId").action = '<s:url
> action="myAction1"'/>;
> document.getElementById("formId").submit();
>
> }
>
> function doAction2() {
>
> document.getElementById("formId").action = '<s:url
> action="myAction2"'/>;
> document.getElementById("formId").submit();
>
> }
>
> function doAction3() {
>
> document.getElementById("formId").action = '<s:url
> action="myAction3"'/>;
> document.getElementById("formId").submit();
>
> }
>
> then in your struts.xml:
>
> <action name="myAction1" class="MyAction" method="method1">
> .
> .
> .
> </action>
>
>
> <action name="myAction2" class="MyAction" method="method2">
> .
> .
> .
> </action>
>
>
> <action name="myAction3" class="MyAction" method="method3">
> .
> .
> .
> </action>
>
> You don't have to use the Ajax theme on your form, you can write the
> Javascript using the DOJO library your self. All the nessary files
> are included when you use the s:head tag
>
> On 7/25/07, Grish <[EMAIL PROTECTED]> wrote:
>>
>> I'm still in the process of learning S2 and I was curious on what's the
>> best
>> practice in implementing a form with multiple submit buttons
>>
>> I've read that there are multiple way to implement this.
>> One way is here:
>> http://struts.apache.org/2.0.8/docs/multiple-submit-buttons.html
>> Although I was thinking I had to redo my setup of my action class and
>> have
>> all the actions point to one method - execute() and from there i would
>> check
>> a parameter to determine what my next step would be:
>>
>> public String execute() {
>> if (method.equals(searchMethod)) {
>> doSearch();
>> return SUCCESS;
>> }
>> if (method.equals(addMethod)) {
>> doAdd();
>> return SUCCESS;
>> }
>> }
>>
>> something to that effect.
>>
>> But I also wanted to try having an action class with different methods
>> and
>> in my struts.xml the different actions would point to the different
>> methods
>> of my action class.
>>
>> My problem though is I have a form with multiple submit buttons. I tried
>> specifying the action on each submit button but the action in my form
>> overrides the action specified in the buttons. I tried removing the
>> action
>> parameter in my form but it would take the current action and still
>> override
>> the actions specified in the buttons. How do I have a form with multiple
>> submit buttons with different actions? What would be the best practice in
>> implementing this? Would implementation be any different if my submit
>> buttons are ajax themed?
>>
>> Thanks
>> --
>> View this message in context:
>> http://www.nabble.com/-S2--Multiple-Submits-with-different-actions-in-a-Form-tf4140299.html#a11776889
>> Sent from the Struts - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> 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]
>
>
>
--
View this message in context:
http://www.nabble.com/-S2--Multiple-Submits-with-different-actions-in-a-Form-tf4140299.html#a11803845
Sent from the Struts - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]