我有一个包含许多行的表,每行都有选择列表。像这样:
| USER | MANAGER | DEPARTMENT |
| Rob | [John Smith |V] | [Sales |V] |
| Sue | [Bob Jones |V] | [Support |V] |
用户可以自由添加新行,行数很多,列表内容也很复杂。
我通过给每个经理选择器ID'经理'和每个部门选择器ID'部门'来大大简化了事情。
提交表单时,我写了一些javascript来遍历每一行,找到每一行,然后更改id'manage_ [rownumber]'和'department_ [rownumber]'。
然后我提交表格。我的javascript代码如下。
基于使用警报弹出窗口进行调试,id会按照我想要的方式进行更改,但servlet只会收到一个'manager'参数和一个'department'行号。
为什么不提交所有输入('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;
}
}
}
}