IE9创建DOM元素的方式较之前有了改变,开始严格遵循标准的实现,不允许通过直接传入一个完整html标记的方式来创建Dom元素。IE9已经不支持将整个Dom串做为document.createElement()方法的参数来创建Dom元素了,越来越符合W3C标准,只能按标准的document.createElement()创建元素
源代码:
var obj;
var theform;
theform = document.forms[formID];
if (document.getElementById("__EVENTTARGET") == null)
{
obj = document.createElement("<input type='hidden' name='__EVENTTARGET' value='' />");
theform.insertBefore(obj);
}
解决方法:
采用标准的创建元素方式来实现:
var obj;
var theform;
theform = document.forms[formID];
if (document.getElementById("__EVENTTARGET") == null)
{
//obj = document.createElement("<input type='hidden' name='__EVENTTARGET' value='' />");
obj=document.createElement("input");
obj.type="hidden";
obj.name="__EVENTTARGET";
obj.value="";
theform.insertBefore(obj);
}