我正在处理下面所附的代码段(嵌入JSP的JavaScript),其中 rs 是来自SQL查询的结果集。我正在尝试为编辑按钮动态分配一个值。但是当我检查按钮的值时,它的打印输出为null。我也尝试过使用 setAttribute()方法执行此操作,但结果是相同的。我在做什么错了?
...
while(rs.next()){
<tr>
<td><%=rs.getInt(1) %></td>
<td><%=rs.getString(2) %></td>
<td id="edit"><button type="button" onclick="document.write(5 + 6)">Edit</button></td>
<td id="delete"><button type="button" onclick="document.write(5 + 6)">Delete</button></td>
<script>
var v = "edit".concat("<%=rs.getInt(1)%>");
document.getElementById("edit").value = v;
</script>
</tr>
}
...
答案 0 :(得分:0)
除非您有理由通过脚本标签执行此操作,否则可以通过内联value
属性来实现此目的,就像处理其他rs
值一样:
...
while(rs.next()){
<tr>
<td><%=rs.getInt(1) %></td>
<td><%=rs.getString(2) %></td>
<td><button type="button" onclick="document.write(5 + 6)" value="edit<%=rs.getInt(1)%>">Edit</button></td>
<td id="delete"><button type="button" onclick="document.write(5 + 6)">Delete</button></td>
</tr>
}
...
如果您想使用脚本来完成此操作,@ Kaiido的注释应该可以帮助您-将id="edit"
移至<button>
内,但请注意,您还希望将其更改为id="edit<%=index%>"
并在服务器代码中添加声明和index
的增量。或使用另一个值作为区分符,否则您将得到许多id="edit"
按钮,并且脚本将无法按预期工作。
答案 1 :(得分:0)
通过将id属性设置为“编辑”按钮而不是td元素来尝试此操作。
while(rs.next()){
<tr>
<td><%=rs.getInt(1) %></td>
<td><%=rs.getString(2) %></td>
<td><button id="edit" type="button" onclick="document.write(5 + 6)">Edit</button></td>
<td><button id="delete" type="button" onclick="document.write(5 + 6)">Delete</button></td>
<script>
var v = "edit".concat("<%=rs.getInt(1)%>");
document.getElementById("edit").value = v;
</script>
</tr>
}