我想为表单上检查的每个复选框添加一个隐藏字段。
这是我的表格:
<form action="managementSales" method="post" name="saleByItems">
Results in Tracks
<table id="pendingTable" border="1">
<tr>
<th>Id</th>
<th>Name</th>
<th>artist</th>
<th>List Price</th>
<th>Sale Price</th>
</tr>
<c:forEach var="t" items="${tracks}">
<tr>
<td><c:out value="${t.trackId}" /></td>
<td><c:out value="${t.trackTitle}" /></td>
<td><c:out value="${t.artist}" /></td>
<td><c:out value="${t.listPrice}" /></td>
<td><c:out value="${t.salePrice}" /></td>
<td class="radioBox">
<input type="checkbox" name="checkTrack" value="${t.trackId}"></td>
</tr>
</c:forEach>
</table>
<button onclick="validate()" class="button" name="saveChange" id="saveChange">Save</button>
</form>
然后是我的javascript:
<script type='text/javascript'>
function validate() {
var inputs = document.getElementsByTagName('input'), inputsLength = inputs.length;
for ( var i = 0; i < inputsLength; i++)
{
var cpt=1;
if (inputs[i].name == 'checkTrack' && inputs[i].checked)
{
document.getElementById('saveChange').innerHTML = '<input type="hidden" value="'+inputs[i].value+'" name="trackId_'+cpt+'">';
cpt++;
}
}
for ( var j = 0; j < inputsLength; j++)
{
var cpt2=1;
if (inputs[j].type == 'checkAlbum' && inputs[j].checked)
{
document.getElementById('saveChange').innerHTML = '<input type="hidden" value="'+inputs[j].value+'" name="albumId_'+cpt2+'">';
cpt2++;
}
}
}
问题在于即使我将类型更改为文本以查看某些内容是否发生了变化