[英]SpringMVC - Send nested form in jsp
我有一个表单( addPassForm ),该表单嵌套在JSP页面中的另一种表单( addStoreFrom )中。 如何将addPassForm表单发送到控制器?
当我尝试发送addPassForm表单时,则改为发送addStoreFrom表单。
<s:url value="/addStore" var="urlAddStore"/>
<form:form id="addStoreFrom" modelAttribute="newStore" action="${urlAddStore}" method="POST">
<table border="1">
<tbody>
<tr>
<td><form:label path="title">Title*</form:label></td>
<td><form:input path="title"/></td>
</tr>
...
<tr>
<s:url value="/addPassForm" var="addPassForm"/>
<form:form id="addPassForm" action="${addPassForm}" method="post">
...
<td>
<input type="submit" value="Add"/>
</td>
</form:form>
</tr>
<tr>
<td><input type="submit" value="Save"/></td>
<td/>
</tr>
</tbody>
</table>
</form:form>
仅仅是因为嵌套表单不是有效的HTML模式。 浏览器只是忽略内部的<form></form>
标记,而仅看到一种形式。 参考: 在另一个html表单中包含html表单是否有效?
这不是JSP问题(也不是Java问题!),只是一个不正确的HTML问题。 您必须使用连续表格而不是嵌套表格(或其他建议的用户javascript)
连续形式的示例:
<s:url value="/addStore" var="urlAddStore"/>
<table border="1">
<tbody>
<form:form id="addStoreFrom" modelAttribute="newStore" action="${urlAddStore}" method="POST">
<tr>
<td><form:label path="title">Title*</form:label></td>
<td><form:input path="title"/></td>
</tr>
...
<tr>
<td><input type="submit" value="Save"/></td>
<td/>
</tr>
</form:form>
<tr>
<s:url value="/addPassForm" var="addPassForm"/>
<form:form id="addPassForm" action="${addPassForm}" method="post">
...
<td>
<input type="submit" value="Add"/>
</td>
</form:form>
</tr>
</tbody>
</table>
显式调用javascript中的commit submit()
函数。添加一个函数并将其绑定到添加按钮的onclick上。 <input type="button" value="Add" onclick="submitAddPassForm()"/>
。在javasrcipt中,只需使用:
function submitAddPassForm(){
$('#addPassForm').submit();
}
您可以进行ajax发布而不是表单提交
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.