我正在尝试从用户动态创建的表单中读取值,并将它们插入到二维数组中。任何字段的ID都是动态创建的,它的值为11,12,13等,具体取决于表的行和列。 我尝试使用getElementByID读取它但它似乎不起作用。功能如下:
function readMatrix () {
for (i = 0; i < k; i++) {
for (j = 0; j < k; j++)
A[i][j]=parseFloat(getElementById(ij).value, 10);
}
}
答案 0 :(得分:2)
首先,document.getElementById(...)
- 该部分很重要,否则无法找到getElementById
功能。
接下来,您要查找名为ij
的变量,这不是您想要的。您希望连接两个数字,因此可以i*10+j
或""+i+j
,无论您喜欢哪个。
答案 1 :(得分:1)
getElementById
调用和参数存在问题。试试这个:
function readMatrix() {
for (var i = 0; i < k; i++) {
for (var j = 0; j < k; j++) {
var id = "" + (i + 1) + (j + 1);
A[i][j] = parseFloat(document.getElementById(id).value);
}
}
}
请注意,您的ID从11
开始,但不是00
,因此会添加(i + 1) + (j + 1)
部分。
答案 2 :(得分:1)
我猜,元素ID是i
和j
的连结,而不是加法。
所以,它应该有效,
function readMatrix () {
for (i = 0; i < k; i++) {
for (j = 0; j < k; j++)
A[i][j]=parseFloat(document.getElementById(i + '' + j).value, 10);
}
}