我有一个很多行的表,每行都有选择列表。例如:如何在提交表单之前更改表单元素的id?
| 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'参数和一个'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;
}
}
}
}
您所呼叫的correctInputIDs(后document.myform.submit())。很明显,这将事只有一个value.Try else.Make使用jQuery和Ajax.It的将是有益的。 – vijay