要素のonFocusイベントでパラメータを受け入れる関数を呼び出そうとしています。さらに、onFocusイベントハンドラをそのフォームのすべての要素でバインドしようとしています。ここに私のコードです。このコードは動作していないパラメータでイベントをバインドする
var f=document.getElementById("form1");
for(i=0;i<f.length-1;i++)
{
f.elements[i].onFocus=help(i);
}
function help(i)
{
Var help=new Array("Help for name","Help for age", "help for gender");
document.getElementById("cmt").value=help[i];
}
:
<!--HTML Code-->
<form name="form1" id="form1">
<input type="text" name="name"/>
<input type="text" name="age"/>
<input type="text" name="gender"/>
<textarea id="cmt" multiline="multiline"></textarea>
</form>
はここjavascriptのコードです。私は大文字と小文字の区別のすべてのバリエーションを試したので、答えがそれに関連している場合は答えません。このコードは、イベントハンドラを要素にバインドしておらず、関数helpを3回呼び出して、textareaの値がiの最終値として設定されています。ありがとう
おそらく 'f.children'をお探しでしたか? –
しかし、私はフォーム要素だけを探しています。フォームタグ内のラベルとtdタグも子として呼び出されますが、inputとtextarea要素だけが必要です。要素は属性を抽出するためにアクセス可能です。問題はイベントバインディングにあります。 – Sourabh