我正在开发一个spring web应用程序。在前端我使用JSP.
我在jsp中有一个表单(带有id formToSubmit) -
<form:form id="formToSubmit" modelAttribute="jobForm" >
<table>
<tr>
<td valign="top"><label>Your Comments:</label></td>
<td>
(Required if you do not review the samples)<br />
<form:textarea id="newCommentsTextAreaId" path="newComments" rows="5" cols="50" />
</td>
</tr>
<tr>
<td colspan="2">
<br />
<input onclick="apprvRqstSbmt()"type="image" src="/images/buttons/approveBtn.png" /><br />
<br />
</td>
</tr>
<tr>
<td colspan="2">
<br />
<input onclick="disApprvRqstSbmt()" type="image" src="/images/buttons/disApproveBtn.png" />
<br/>
</td>
</tr>
</table>
</form:form>
此表单有两个按钮 - 一个用于批准(使用apprveBtn.png),另一个用于拒绝(使用disApproveBtn.png)。所以我写了一些javascript
来点击按钮提交表单 -
<script type="text/javascript">
function apprvRqstSbmt(){
$("#formToSubmit").attr("action","/some/url/to/submit");
$("#formToSubmit").submit();
}
function disApprvRqstSbmt(){
$("#formToSubmit").attr("action","/some/url/to/submit");
$("#formToSubmit").submit();
}
</script>
点击拒登按钮后,表单会正确提交。但是当我点击批准按钮时,表单未正确提交。任何人都可以帮助我为什么表格没有正确提交?
答案 0 :(得分:2)
刚刚删除:form
,我无法理解为什么有必要。
另外,感谢Razib,除了:form
这个不必要的部分之外,您忘了将方法设置为POST,因此您可以将其添加到javascript部分或HTML中。你可以看到我在两者中做过。您只能使用其中一个。
function apprvRqstSbmt(){
$("#formToSubmit").attr("method","POST"); //Razib solution
$("#formToSubmit").attr("action","/some/url/to/submit");
$("#formToSubmit").submit();
}
function disApprvRqstSbmt(){
$("#formToSubmit").attr("method","POST"); //Razib solution
$("#formToSubmit").attr("action","/some/url/to/submit");
$("#formToSubmit").submit();
}
&#13;
<form id="formToSubmit" modelAttribute="jobForm" method="POST" >
<table>
<tr>
<td valign="top"><label>Your Comments:</label></td>
<td>
(Required if you do not review the samples)<br />
<form:textarea id="newCommentsTextAreaId" path="newComments" rows="5" cols="50" />
</td>
</tr>
<tr>
<td colspan="2">
<br />
<input onclick="apprvRqstSbmt()"type="image" src="/images/buttons/approveBtn.png" /><br />
<br />
</td>
</tr>
<tr>
<td colspan="2">
<br />
<input onclick="disApprvRqstSbmt()" type="image" src="/images/buttons/disApproveBtn.png" />
<br/>
</td>
</tr>
</table>
</form>
&#13;
JSFiddle:http://jsfiddle.net/6fp1ukzL/
答案 1 :(得分:1)
我认为您错过了'method'
中的javascript
属性。您必须在attr("method", "POST")
中添加javascript
。如果我用我的更改重写你的代码,那么它将是 -
<script type="text/javascript">
function apprvRqstSbmt(){
$("#formToSubmit").attr("method","POST");
$("#formToSubmit").attr("action","/some/url/to/submit");
$("#formToSubmit").submit();
}
</script>
“拒绝”按钮点击工作正常,因为表单提交的默认方法是“GET”。可能不赞成按钮正在抛出一个获取请求。