2010-11-21 16 views
0

私がしようとしているのは、それぞれのフォーム要素から 'text'型の値を取得することです。テキストボックスから値を取得し、その値をjavascriptを使って出力する適切な方法を教えてください。javascriptのフォーム要素を正しくループする方法

そのタイプのテキストのフォーム要素の正確な数になった場合、私がチェック
<head> 
<script type="text/javascript"> 
function trap(){ 
for(var i=0; i<document.x.elements.length; i++) 
{ 
document.write(document.x.elements[i].value + "<br />"); 
} 
} 
</script> 
</head> 
<body> 


<form name="x"> 

<?php 
for($i=0;$i<2;$i++){ 
?> 

qty #<?php echo $i; ?> 
<input type="text" name="qty[<?php echo $i; ?>]" value=""/> 
<img src="add-icon.png" onmouseover="trap();"> 

<?php } ?> 

</form> 

</body> 

:私は唯一取得しています、私はloop.HoweverのためのPHPで指定された番号に

document.write(document.x.elements.length); 

と同じことを要素#1の値値を取得していないようです。qty[1]

助けてください。

あなたはあなたの関数内document.write()を使用します。おかげで

答えて

2

あなたが持っている問題は別です。このメソッドは、ドキュメント全体を上書きするため、ページが読み込まれた後は使用できません。最初に関数を呼び出すと関数が存在しなくなったので、作成したばかりのデータだけを含む新しい文書が得られます。代わり書き込み

使用は()他の方法、例えば、これは動作するはず:

document.body.appendChild(document.createTextNode(document.x.elements[i].value)); 
document.body.appendChild(document.createElement('br'))