2012-03-10 5 views
0

私はこのオンラインへの回答を見つけられませんでしたが、デバッガは私が使用する可能性のある代替案を理解するのに十分なことを教えてくれません。 以下で使用しようとしている効果の配列を使用してテキストボックスに「塗りつぶし」値を投稿することはできますか?私はdocument.form.a.value = fillを書くことができました。 document.form.b.value = fill;ループや配列はもっと単純化され効率的に見えます。助けのためのこれは可能ですか?document.form.array [i] .value?

<script type="text/javascript"> 
function postData() { 
var fill = 0.0; 
var txtBoxLetter = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]; 
    for (var i = 0; i < txtBoxLetter.length; i++) { 
     document.form.txtBoxLetter[i].value = fill; // Error on this line 
    } 
} 
</script> 

<form name="form" method="" action=""> 
<input type="text" name="a" size="1" readonly="true"> 
<input type="text" name="b" size="1" readonly="true"> 
<input type="text" name="c" size="1" readonly="true"> 
<input type="text" name="d" size="1" readonly="true"> 
<input type="text" name="e" size="1" readonly="true"> 
<input type="text" name="f" size="1" readonly="true"> 
<input type="text" name="g" size="1" readonly="true"> 
<input type="text" name="h" size="1" readonly="true"> 
// etc. 
</form> 

ありがとう: ここで私は、エラーを与えているコードの簡易版です!プロパティ名として変数を使用するには、角括弧

答えて

2

MDN form elements

document.form.elements[ txtBoxLetter[i] ].value = fill; 
+0

私は必要な正確な構文。ありがとうございました! –

2

使用...


document.forms[0][txtBoxLetter[i]].value = fill; 
それだあなたはあなたがやっているときに同じこと...

txtBoxLetter[i] 

実際にazを使用している場合は、配列をスキップできます。

for (var i = 0; i < 26; i++) { 
    document.forms[0][String.fromCharCode(i + 97)].value = fill; 
} 
関連する問題