我有一个spring-mvc jsp表,在thead中有一些输入元素可以进行一些过滤。 thead确实有一个表格作为孩子的第一元素。
<table>
<thead>
<form:form action="." modelAttribute="accountWrapper.theAccount">
<tr><td class="columhead" id="firstname"><div class="disp">first name</div>
<div class="filter"><form:input path="firstName"/></div></td>
<td class="columnhead" id="lastname"><div class="disp">last name</div>
<div class="filter"><form:input path="lastName"/></div></td>
<td>email</td></tr>
</form:form>
</thead>
<tbody>
检查来源时,我看到:
<thead>
<form id="accountWrapper.theAccount" action="." method="post">
<tr><td class="columhead" id="firstname"><div class="disp">first name</div>
<div class="filter"><input id="theAccount.firstName" name="theAccount.firstName" type="text" value="search"/></div></td>
<td class="columnhead" id="lastname"><div class="disp">last name</div>
<div class="filter"><input id="theAccount.lastName" name="theAccount.lastName" type="text" value="search"/></div></td>
<td>email</td></tr>
</form>
</thead>
<tbody>
正如我所期待的那样。
但是当我检查javascript DOM时,表单元素是直接在&lt; thead&gt;下的空元素,&lt; input&gt;元素在表单之外。表单提交出错了。
<thead>
<form id="accountWrapper.theAccount" action="." method="post"></form>
<tr><td class="columhead" id="firstname"><div class="disp">first name</div>
<div class="filter"><input id="theAccount.firstName" name="theAccount.firstName" type="text" value="search"/></div></td>
<td class="columnhead" id="lastname"><div class="disp">last name</div>
<div class="filter"><input id="theAccount.lastName" name="theAccount.lastName" type="text" value="search"/></div></td>
<td>email</td></tr>
</thead>
<tbody>
答案 0 :(得分:0)
<form>
元素中不能包含<thead>
元素。此规则适用于除<table>
和<th>
之外的所有<td>
子元素。无论出于何种原因,Spring序列化都会在<form>
立即关闭的情况下呈现HTML。
用<form>
包裹整张桌子。