我有一个有很多行的表,每一行都有选择列表。像这样的东西:
| USER | MANAGER | DEPARTMENT |
| Rob | [John Smith |V] | [Sales |V] |
| Sue | [Bob Jones |V] | [Support |V] |
用户可以自由添加新行,行数多,列表内容复杂。
我通过给每个经理选择器 id 'manager' 和每个部门选择器 id 'department' 来大大简化了事情。
提交表单后,我编写了一些 javascript 来循环遍历每一行,定位每一行,并更改 id 'manager_[rownumber]' 和 'department_[rownumber]'。
然后我提交表格。我的javascript代码如下。
基于使用警报弹出窗口进行的调试,ID 正在按照我想要的方式进行更改,但 servlet 只接收一个“经理”参数和一个“部门”行号。
为什么没有提交所有输入('manager_1'、'manager_2' 等)?更改 ID 后我需要做些什么以确保更改在提交表单之前生效?
谢谢!
抢
这是我的代码:
function submitForm() {
correctInputIDs();
document.myform.submit();
}
function correctInputIDs() {
var rows = document.getElementsByTagName("tr");
for (var i=0; i<rows.length; i++) {
var row = rows[i];
selectElements = rows.getElementsByTagName("select");
for (var j=0; j<selectElements.length; j++) {
var selectElement = selectElements[j];
if (selectElement.id == "manager") {
selectElement.id = "manager_"+i;
}
if (selectedElement.id == "department") {
selectElement.id = "department_"+i;
}
}
}
}