テキスト フィールドの動的生成に問題があります。フォームに選択ボックスがあり、ドロップダウンリストでの番号の選択に基づいてテキストフィールドを作成したいと考えています。したがって、ユーザーがいずれかを選択した場合、その下に 1 つのテキスト フィールドを作成します。私はそれを達成するためにjavascriptとonChangeイベントを使用しています。しかし、コードはどのブラウザーでも機能しません。
ドキュメントの head セクションで使用している JavaScript 関数は次のとおりです。
function addField()
{
alert("Hello");
var num=document.forms["myForm"]["timePerDay"].value;
for(var i=0;i<num;i++)
{
var element = document.createElement("input");
element.setAttribute("type", input);
element.setAttribute("name", time[] );
var foo = document.getElementById("fooBar");
//Append the element in page (in span).
foo.appendChild(element);
}
}
選択フィールドは次のとおりです。
<select name="timePerDay" onChange="javascript:addField();">
<option selected="selected">Select One</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<span id="fooBar">
</span>
JS関数にアラートメッセージを入れようとしたが、それが機能していないため、どのブラウザでもonChangeがまったく起動していないようです。では、何が問題なのか教えてください。このページはhttp://motushealth.com/form1.htmlで見ることができます。
PS: フォームで別の JS 関数を使用して検証していますが、 Onsubmit で動作します。それは完全に機能しています。