spring MVC 不允许使用名称属性。使用javascript document.getElementsByName()时会造成阻碍?
问题内容:
这是我的spring MVC JSP代码段
<c:forEach var="trackRecord" varStatus = "number" items="${contractDetails.trackRecordEntries}" >
<tr class="tafont">
<td class="varcar"><form:input readonly = "true" name = "installmentNo" id = "installmentNo" path="trackRecordEntries[${number.index}].installmentNo"/></td>
<td class="varcar"><form:input readonly = "true" name = "installmentAmount" id = "installmentAmount" path = "trackRecordEntries[${number.index}].installmentAmount"/></td>
<td class="varcar"><form:input readonly = "true" name = "dueDate" id = "dueDate" path="trackRecordEntries[${number.index}].dueDate"/></td>
<td class="varcar"><form:input cssClass="recievedDate" name = "recievedDate" id = "recievedDate" path="trackRecordEntries[${number.index}].recievedDate"/></td>
<td class="varcar"><form:input id = "recieptAmount" name = "recieptAmount" path="trackRecordEntries[${number.index}].recieptAmount"/></td>
<td class="varcar"><form:input id = "delayDays" name = "delayDays" path="trackRecordEntries[${number.index}].delayDays"/></td>
</tr>
</c:forEach>
它将bean的arraylist绑定到jsp页面。问题是我不能name
在<form:input>
标签中使用’‘属性。我需要name属性在那里,因为我想使用以下方法执行javascript验证document.getElementsByName("name");
任何解决方案?
问题答案:
当您使用Spring标签(即<form:input>
)标签,那么你可以不使用 名称 springtags.If属性你想要 的名称
属性,那么你必须使用 路径 标签,它内部的值转换为属性 名称 的属性 HTML 标记,如下所示:
<c:forEach var="trackRecord" varStatus = "number" items="${contractDetails.trackRecordEntries}" >
<tr class="tafont">
<td class="varcar"><form:input readonly = "true" path = "installmentNo" id = "installmentNo" /></td>
<td class="varcar"><form:input readonly = "true" path = "installmentAmount" id = "installmentAmount" /></td>
<td class="varcar"><form:input readonly = "true" path = "dueDate" id = "dueDate" /></td>
<td class="varcar"><form:input cssClass="recievedDate" path = "recievedDate" id = "recievedDate" /></td>
<td class="varcar"><form:input id = "recieptAmount" path = "recieptAmount" /></td>
<td class="varcar"><form:input id = "delayDays" path = "delayDays" /></td>
</tr>
</c:forEach>
并且您必须将所有这些路径变量定义到表单中,如下所示:
public class UoyrForm {
private String[] installmentNo;
private String[] installmentAmount;
private String[] dueDate;
private String[] recievedDate;
private String[] recieptAmount;
private String[] delayDays;
}
或者您可以使用简单的HTML标签来