Hi All,

I am new to Struts 2, so please forgive me if this question is inane.

I have a very simple form which has some checkboxes and on the click of
the submit button of the form, I want to pass the values of the form to
an AJAX action.

############################CODE SNIPPET
STARTS#####################################################

<script type="text/javascript">
            function getResult(){
 
//document.getElementById("diaryRecords").setAttribute("href",
"/equipment.showHistory.action?serialNumber="+serialNumber);
                //alert('In Get result');
                buildValue = document.myForm.build.value;
                //alert('buildValue : '+buildValue);
                //dojo.event.topic.publish('/example/result.action',
buildValue);
        
document.myForm.hiddenbuild.value=buildValue;
        
//alert('document.myForm.hiddenbuild.value :
'+document.myForm.hiddenbuild.value)
            }
</script>

:
:

<s:form action="/example/homepage.action" method="post" name="myForm"
validate="true">
                           :
                                 :
                        <td width="5%" >
                           <input type="checkbox" name="build" />
                       </td>
                                :
                                :        
                                <tr>
                        <td ><s:submit theme="ajax" targets="resultDiv"
notifyTopics="/example/result.action" formId="myForm"
href="%{ajaxResultUrl}" onclick="getResult()" /> </td>
                                                <td><s:reset
name="reset" /></td>
                    </tr>
                </table>
               </td>

            </tr>
                        <tr>
                                <td colspan="3">
                   <s:url id="ajaxResultUrl"
value="/example/result.action" >
                       <s:param name="build" value="%{'on'}" />
                    </s:url>
                    <s:div theme="ajax" id="resultDiv" formId="myForm"
loadingText="Loading Result..." listenTopics="/example/result.action"
href="%{ajaxResultUrl}" />
                                </td>
                        </tr>
                        :
                        :
</s:form>
######################################CODE SNIPPET
ENDS#####################################

Now, I have two problems in this:
1. I am unable to pass the form parameters to the action. As you can see
that the form submits to homepage.action, but I want the AJAX call to
load from result.action. I have passed the formId to the div, but it
doesn't get the form parameters in the request. To work around this, I
am passing the value of build (build is a checkbox) as a param and
referencing the URL on the div as href.
2. The problem with pass as href : The result.action executes on page
load, I want it to execute on the submit button click and then display
the result.

Ideally, when I click submit, I want these form elements to be submitted
to result.action and the result will be displayed.

The code snippet above submits the build value as 'on' to the form and
the result is displayed on page load.

Please help, I wasn't able to get any good code examples doing this, it
would help immensely if I could get that.

Thanks for reading,
Regards,
Sayali.
 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to