0

ユーザーが動的に作成したフォームから値を読み取り、2 次元配列に挿入しようとしています。フィールドの 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);
        }
    }
4

3 に答える 3

2

まず、document.getElementById(...)その部分が重要です。そうしないと、getElementById関数を見つけることができません。

次に、 という変数を探しますがij、これは必要なものではありません。2 つの数値を連結する必要があるため、i*10+jまたは""+i+jのどちらでもかまいません。

于 2012-05-13T19:12:26.717 に答える
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 があることに注意し1100ください(i + 1) + (j + 1)

デモ: http://jsfiddle.net/VnvM2/

于 2012-05-13T19:13:10.037 に答える
1

要素 id は、加算ではなくiandの連結だと思います。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);
        }
    }
于 2012-05-13T19:14:21.767 に答える