首先声明我不经常写js代码.对浏览器的兼容性积累经验不够,特别是IE6、7、8的兼容,总结此文章以便自己和大家一起积累,少花不必要的时间。
下面是我的js代码:
/***
* 保存修改数据
* @return
*/
function saveConten(){
$.ajax({
type:"POST",
url:"emp.do?param=UpdateEmpInfo",
data:{
"empId":$("#empId").val(),
"empNo":$("#empNo").val(),
"empName":$("#empName").val(),
"empLoginName":$("#empLoginName").val(),
"empLoginPass":$("#empLoginPass").val(),
"empTell":$("#empTell").val(),
"empEmail":$("#empEmail").val(),
"empRemark":$("#empRemark").val(),
"empSex":document.getElementById("empSex2").value,
},
dataType:"json",
success:function (json){
closeWindow();
alert("修改成功!");
window.location.reload();
},
error:function(){alert("加载员工信息失败,请重试!");}
});
}
,我没加这段代码的时候,整个页面的其它js代码在IE6、8正常工作,但我加了这段代码后,整个页面的js代码就不听话了(onclick没得反应).大家看到我的js代码哪儿有错吗?在json封装数据的时候,最后一个属性多了一个逗号(",")
"empSex":document.getElementById("empSex2").value,把这个多的逗号去掉就行了.
我在做一个项目时,<a οnclick="我的方法">在IE6、8始终没有加载我的一个引入的js代码,在网上找了可能有2个小时,都无济于事,突然看到一位哥们的blog说使用onload来测试加载的我Js代码.我才发现是没有加载我的js代码,我引入的js代码路径绝对是正确的,我也清空了IE6、8的缓存.不知道是什么原因。随后我把js代码写在调用页面onclick就调用我的js代码了。
总结:如果<a>或button的onclick事件没得反应,首先检查js代码有错没得,使用<body οnlοad="你的方法">这种方式可以检测你的js代码是否有错,如果这样能执行你的方法中的代码,仍然还报错,那么再看你的onclick事件的有不有单引号或双引号写错,或者查看不个页面代码是否多了或少了什么符号.
由于IE6、8对逗号、单/双引号特别的感冒,所有大家在写js代码要注意这些细节,不然找错找得你想吐。