我无法动态生成文本字段。我在表单中有一个选择框,我想做的是根据下拉列表中的数字选择创建文本字段。因此,如果用户选择一个,我想在它下面创建一个文本字段。我正在使用 javascript 和 onChange 事件来完成它。但是代码在任何浏览器中都不起作用。
这是我在文档头部使用的 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>
似乎 onChange 在任何浏览器中都没有触发,因为我试图将警报消息放入 JS 函数中,甚至它不起作用。所以你能告诉我是什么问题吗?您可以在以下位置查看该页面: http: //motushealth.com/form1.html
PS:我在表单上使用另一个 JS 函数来验证它,它适用于 Onsubmit 。它运行良好。