JavaScript innerHTML 不适用于 IE?
我正在使用 ajax 调用来获取我的下拉列表并将其分配给 html,对于 mozilla nad crome 工作正常,但对于 IE 它显示一个空白下拉列表
var xmlhttp;
var strURL = "selectedu.php?selectward="+selectward;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
if(xmlhttp.responseText=="NOER")
{
alert("Select ER Type");
}
else
{
document.getElementById(id).innerHTML=xmlhttp.responseText;
}
}
}
xmlhttp.open("GET",strURL,true);
xmlhttp.send();
I am using ajax call for to bring the list for my drop down and assign it to html,works fine for mozilla nad crome but for IE it displays a blank dropdown
var xmlhttp;
var strURL = "selectedu.php?selectward="+selectward;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
if(xmlhttp.responseText=="NOER")
{
alert("Select ER Type");
}
else
{
document.getElementById(id).innerHTML=xmlhttp.responseText;
}
}
}
xmlhttp.open("GET",strURL,true);
xmlhttp.send();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
当尝试添加或更新表单元素时,
innerHTML
属性在 IE 中存在一些问题,解决方法是创建一个 div 并在附加到 DOM 之前设置其innerHtml 属性:The
innerHTML
property has some problems in IE when trying to add or update form elements, the workaround is to create a div and set the innerHtml property on that before appending to the DOM:如果文档是 XHTML,则 IE 将不允许直接设置
innerHTML
属性。您需要将responseText
解析为 DOM 元素,并用这些元素替换现有元素的内容。If the document is XHTML the IE will not allow the
innerHTML
property to be set directly. You would need to parse theresponseText
into DOM elements and replace the contents of the existing element with those elements.如果您使用的是 jQuery,则可以像这样使用
append()
:append()
在所选元素的末尾插入内容并使用prepend()< /code> 在所选元素的开头插入。
If you're using jQuery you can use
append()
like this:append()
inserts content at the end of the selected element and useprepend()
to insert at the beginning of the selected element.