0

次のように、ユーザー入力に基づいてフォームフィールドが入力されるWebページがあります。

        function Go2() {
            var loans = document.getElementById('count').value;
            var content = document.getElementById('stage3').innerHTML;
            content = '<TABLE Width="100%">'
                +'<TR>'
                +'<TD Style="font-weight:bold;" Width="30%">Customer Name</TD>'
                +'<TD Style="font-weight:bold;" Width="30%">Customer Number</TD>'
                +'<TD Style="font-weight:bold;" Width="30%">Origination Date</TD>'
                +'</TR>'
                +'</TABLE>';
            document.getElementById('stage3').innerHTML = content;
            for(var i=0; i<loans; i++) {
                content = document.getElementById('stage3').innerHTML;
                document.getElementById('stage3').innerHTML = content
                    + '<TABLE Width="100%">'
                    + '<TR>'
                    + '<TD Width="30%"><INPUT Name="CName'
                    + i
                    + '" Size="40" Type="text"></TD>'
                    + '<TD Width="30%"><INPUT Name="CNumber'
                    + i
                    + '" Size="40" Type="text"></TD>'
                    + '<TD Width="30%"><INPUT Name="Date'
                    + i
                    + '" Size="40" Type="text"></TD>'
                    + '</TR>'
                    + '</TABLE>';
            }
            content = document.getElementById('stage3').innerHTML;
            document.getElementById('stage3').innerHTML = content
                    + '<TABLE><TR><TD><INPUT Type="Button" Value="Submit" onClick="Go3()"></TD></TR></TABLE>';
        }

次に、フォームを反復処理して、各フォーム フィールドの値を取得する必要があります。これは私が得た限りです:

for (var n=0; n<loans; n++) {
content += '<TR>'
    + '<TD Colspan="2">'
    + document.getElementById('CName + n').value
    + '</TD>'
    + '<TD Colspan="2">'
    + document.getElementById('CNumber + n').value
    + '</TD>'
    + '<TD>'
    + document.getElementById('Date + n').value
    + '</TD>'
    + '</TR>';
}

どちらが...何もしません。私が持っていた最後の注目すべき進歩は、実際にはまったく進歩していない「null」を吐き出すことでした。私は eval を見てきましたが、それに対してかなりの数の警告があります。

何か案は?

4

3 に答える 3

1

私はあなたが欲しいと思います

document.getElementById('CName' + n).value

(n は引用符の外にあります)

于 2012-05-21T21:48:42.693 に答える
1

'CName' + n のはずです。つまり、引用符の位置が間違っています。

于 2012-05-21T21:49:08.233 に答える
0

すべてのコントロールがフォームにある場合は、次のようにアクセスできます。

var allControls = document.<formId>.elements;

また

var allControls = document.forms[formId].elements;

次に、コントロールのリストを繰り返し処理して値を取得します。フォームコントロールは、IDを必要とせずに、成功するために名前を持っている必要があります。次のように値を取得することもできます。

var value = allControls['CName' + n].value;

あるいは単に

var form = docment.forms[formID];
var value = form['CName' + n].value;
于 2012-05-22T00:34:13.687 に答える