我有一个包含许多行的表,每行都有选择列表。像这样的事情:
| 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”等)?更改 ids 后我需要做些什么来确保更改在提交表单之前生效吗?
谢谢!
抢
这是我的代码:
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;
}
}
}
}
最佳答案
因为 ID 与表单提交无关,name
才重要。
<强> Happy Reading
关于javascript - 如何在提交表单之前更改表单元素的ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11108096/