通过一天的排错,终于解决了问题,这里跟大家分享下成果。
1.本来在IE下面网页多运行正常,可是在firefox下一点击apply控件之后,html前面的很多代码就会别网页无缘无故的吃掉,结果过来一堆代码。后来就是不知道是什么原因,干脆在代码行前面空了N个空行,结果OK啦
2.IE下,一切也运行正常,可发现SELECT控件在firefox下一点作用都起不了,感觉很是纳闷,只有跟踪代码,发现根本都没有下下去,发现在代码的属性里支持的差异啦
本来的代码是
else if (data_type == T_SELECT) {
var select_index = document.getElementById(name).selectedIndex;
form_data = name + "=" + document.getElementById(name).options(select_index).value;
}
改正过之后
else if (data_type == T_SELECT) {
var select_index = document.getElementsByName(name)[0].selectedIndex;
form_data = name + "=" + document.getElementsByName(name)[0].options【select_index】.value;
}
主要的区别就是一个是用的getElementById(name)。另一个getElementsByName(name)[0]。
另外一个重要点就是options(select_index).value,改为options【select_index】.value。
3.html中的字符比较
var aa=“my_name”
if (aa == "my")这个语句返回的是真,它其实只比较到他的某一个字符串结束就结束了,
这个一点要注意
4. HTML 对象的 id 作为对象名的问题
(1)现有问题
在 IE 中,HTML 对象的 ID 可以作为 document 的下属对象变量名直接使用。在 MF 中不能。
(2)解决方法
用 getElementById("idName") 代替 idName 作为对象变量使用。
5. 用idName字符串取得对象的问题
(1)现有问题
在IE中,利用 eval(idName) 可以取得 id 为 idName 的 HTML 对象,在MF 中不能。
(2)解决方法
用 getElementById(idName) 代替 eval(idName)。
6. 变量名与某 HTML 对象 id 相同的问题
(1)现有问题
在 MF 中,因为对象 id 不作为 HTML 对象的名称,所以可以使用与 HTML 对象 id 相同的变量名,IE 中不能。
(2)解决方法
在声明变量时,一律加上 var ,以避免歧义,这样在 IE 中亦可正常运行。
此外,最好不要取与 HTML 对象 id 相同的变量名,以减少错误。
(3)其它
参见 问题4
参考:http://www.hxblog.net/article.asp?id=983
阅读(675) | 评论(0) | 转发(0) |