我对这个很小的代码有一个奇怪的问题:
function autre(element)
{
if (element.value=="autre")
{
var inputText=document.createElement("input");
inputText.setAttribute("type", "text");
inputText.setAttribute("name", "autre");
inputText.setAttribute("required", "");
element.parentNode.appendChild(inputText);
}
else element.parentNode.removeChild(element.nextSibling);
}
和HTML
<select name="matiere" onchange="autre(this);">
<option value="autre">Autre</option>
<option value="...">Some others options</option>
</select>
当选择一个选择的'autre'值时,会创建一个输入文本。这很好。
任何的想法 ?..
编辑:问题是因为ceakki提到了函数的名称。谢谢!
谢谢大家的帮助
最佳答案
更改autre()函数或新创建的元素的名称。
似乎IE9将的名称autre附加到当前的Window对象(或全局对象)。
在这种情况下,autre将引用新创建的元素,而不是您的函数。