У меня проблема с формой Submit в struts. Установка значения скрытой переменной при нажатии кнопки, а затем .submit()
формы с использованием .submit()
jquery не позволяет отображать сообщение sucess на той же странице в 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();
нажмите кнопку "Отправить", чтобы отправить всплывающее окно на другую страницу. Не удалось показать успех на той же странице.
Наконец, я правильно понял тот же код, приведенный выше, с некоторыми изменениями. Без 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
});
Его работа Perfect !!!!!!