关于innerHTML在 IE下失效的问题,谢谢
JS:
function VerifyUsernameState(values) {
$I("username_info").innerHTML = cue[0][8];
if (CheckTxtAJAX("username") != "0") {
return 6;
}
return 0;
}
上面的$I("username_info").innerHTML = cue[0][8];
为什么会在IE下不起作用,在FIREFOX正常,,谁知道咋回事呢? 谢谢
------解决方案--------------------把$I("username_info").innerHTML = cue[0][8];换成$I("username_info").innerHTML = "aaa";再分析一下。
------解决方案--------------------alert(cue[0][8]);//看看能弹出什么,如果什么都没有,说明cue[0][8]不包含任何字符!
$I()是一个获取对象的函数?还是其他什么?如果是一个原生方法就有innerHTML,否则像JQ是不具有该属性的,需要转化为普通DOM对象才具有。
------解决方案--------------------试一试啊。。一层层的查问题。。挨个试试
------解决方案--------------------如果放页面最底部可以运行,那么最可能的是加载顺序的问题
你放在window.onload事件中调用或者把调用js函数的代码放页面最后面
------解决方案--------------------你也试过$I("username_info").innerHTML = cue[0][8];这句话本身没有错误,那八成错误应该在CheckTxtAJAX里面了。
关于xmlhttp.responseText,你刚刚send,这个值肯定应该为空。
感觉一般都是在xmlhttp.onreadystatechange指向的函数里面处理返回回来的xml。
------解决方案--------------------
------解决方案--------------------哦,你的ajax代码没有判断状态...
你直接加个状态判断,如果成功返回结果你再执行后便的代码即可,改动应该不会太大啊!
------解决方案--------------------对象还没生成,你就调用,肯定是要出错的
------解决方案--------------------上面的$I("username_info").innerHTML = cue[0][8];
取出cue集合索引是0的第8个属性的值是吧这个在IE 和FF是兼容是肯定没问题的
看上面的原因感觉应该是加载的问题吧,如果你在页面加载完后就可以取出数据,那就结了
放在 $(function(){
这里面来,试试看。
});
------解决方案--------------------在IE报错,并不代表FF不报错,因为FF出错误了,你根本就看不出来,除非你调试, 有必要的话加几个try{}吧,这样就算出错了,后面的程序还是会执行,有可能就达到效果了,介绍一个个调试值,看是不是空值或者判断造成的。
------解决方案--------------------调试一下,找到错误的代码。错误原因!
楼主你贴的代码,我们是看不出问题的!
------解决方案--------------------不可能!ie跟FF(innerHTML)都支持。