2014-03-14 47 views
0

我在struts中的表單提交有問題。 設置按鈕點擊一個隱藏變量的值,然後使用.submit()提交表單jquery不允許在struts的同一頁面顯示成功消息。設置按鈕點擊隱藏變量的值,然後使用.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

每次有人發佈一個完全不縮進的HTML,世界上某處熊貓就會死亡。 –

+0

@AndreaLigios:LOL。 :)讓我們保存它們。 –

+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 
}); 

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