在按钮单击上设置隐藏变量的值,然后使用.submit()jquery struts提交表单

时间:2014-03-14 05:43:43

标签: html jquery-ui struts2 struts2-jquery

我在struts中使用Form Submit有问题。 在按钮单击上设置隐藏变量的值,然后使用.submit() jquery提交表单不允许在struts的同一页面中显示成功消息。

单击按钮时,在提交表单之前,我需要通过单击按钮设置隐藏变量,然后提交表单。 我可以使用以下代码提交表单,但不能在同一个弹出窗口中提交。

<div id="formResult" >
  <s:form id="formId" name="form">
    <s:hidden id="actionId" name="action"></s:hidden>
    <table cellpadding="0" cellspacing="0" border="0" width="90%" >
      <s:if test ="approve">
        <tr>
          <td>File is Approved!!</td>
          <td><td>
        </tr>
      </s:if>           
      <s:elseif test ="rejectFile">
        <tr>
          <td>File is Rejected!</td>
          <td><td>
        </tr>
      </s:elseif>           
      <s:else>
        <tr>
          <td width="30%"><b><s:text name="idLabel" /></b></td>
          <td width="40%"><s:property value="Id"/></td>
        </tr>
        <tr>
          <td><div style="height:5px"></div></td>
          <td><div style="height:5px"></div></td>
        </tr>
        <tr>
      </s:else>
      <tr>
        <td width="90%" colspan="2" align="right">
          <s:if test="!approveFileSuccess">
            <sj:a 
              id="approvefileId" 
              onclick="approveFunction();"                      
              button="true"
              targets="formResult">
              Approve
            </sj:a>
          </s:if>                       
          <s:if test="!rejectFileSuccess">
            <sj:a 
              id="rejectfileId" 
              onclick="rejectFunction();"               
              targets="formResult" 
              button="true">
              Reject
            </sj:a>
          </s:if>
    </table>
  </s:form>
</div>

JQUERY

function approveFunction(){
  $('#actionId').val("Approve");
  document.formId.submit();
}

function rejectFunction(){
  $('#actionId').val("Reject");
  document.formId.submit();
}

单击document.formId.submit();时,表单提交会将弹出窗口转到另一个页面。无法在同一页面中显示成功。

1 个答案:

答案 0 :(得分:0)

最后,我对上面给出的相同代码做了一些修改。没有Ajax就可以完成.. !! 使用onClickTopics在提交表单之前完成工作,也不用刷新它:)

JSP

<sj:a 
id="approvefileId" 
formIds="approvefileform"                       
button="true"
targets="formResult"
onClickTopics="beforeApprove">
Approve
</sj:a>

JQUERY

$.subscribe('beforeApprove', function(event,data) { //before form submit on click functionality 
$('#actionApproveRejectId').val("Approve"); //to set the hidden variable
});

它的工作完美!!!!!!