急急急!!!IE6下无法加载js文件

liyangyun1986 2012-10-11 09:03:38
我写了一个js文件 格式如下:

//根据AJAX值 赋值次级select的值 ||arrayId 次级需要赋值的sleect表 ||ajaxUrl ajax请求地址 ||ajaxdata 传送的数
function assignSelect(arrayId,ajaxUrl,ajaxdata){
for(var i =0;i<arrayId.length;i++){
removeAll(arrayId[i]);//移除option
addOneOption(arrayId[i]);
if(i==0&&ajaxdata!="0"){
ajaxSelect(arrayId[i],ajaxUrl,ajaxdata);
}
}
}

//删除所有的option列
function removeAll(selectId){
$("#"+selectId).empty();
}
//添加一列请选择
function addOneOption(selectId){
$("#"+selectId).append("<option value='0'>请选择</option>");
}

在界面中的引用如下:

<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/tour/global.css">
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/tour/layout.css">
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/tour/member.css">
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/table.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/js/uploadify/uploadify.css">

<script type="text/javascript" src="__PUBLIC__/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="__PUBLIC__/js/formselectset.js"></script>
<script type="text/javascript" src="__PUBLIC__/js/uploadify/jquery.uploadify-3.1.min.js"></script>
<script type="text/javascript" src="__PUBLIC__/js/formValidator-4.0.1.min.js" charset="UTF-8"></script>
<script type="text/javascript" src="__PUBLIC__/js/formValidatorRegex.js" charset="UTF-8"></script>
<script type="text/javascript" src="__PUBLIC__/js/My97DatePicker/WdatePicker.js" language="javascript"></script>


但是 在IE6下 assignSelect 函数无法执行,后来在函数开始的时候加了

alert("aaa");

后在调用assignSelect 函数 还是不被执行,所以我想应该是js文件没有被加载,在IE8,IE9下就能正常执行,万分着急,麻烦各位大神给点意见或解决方法,万分感谢,谢谢了
...全文
294 点赞 收藏 11
写回复
11 条回复
名字到底多长 2012年10月11日
要不要刷新下试试。。有时候就加载不上。。郁闷。
回复 点赞
ie8能运行,ie6不行,基本是编码的问题了,自己查查看编码

如果你那个js文件的存储编码为ansi,要给script加charset="gb2312",为utf-8需要加charset="utf-8"
回复 点赞
泡泡鱼_ 2012年10月11日
统一你的页面编码方式,你在formselectset.js顶部,不是函数体中增加一句:alert('正在加载');看看有反应没

最简单的测试方法,另新建一html页面
就只加载formselectset.js
做一个小未例就知道了

从代码和使用上看不出任何问题。要么你路径搞错,要么你编码出现问题
回复 点赞
liyangyun1986 2012年10月11日
我加上编码格式了,但是打印出来的还是undefined,请问这种情况怎么解决呢
[Quote=引用 5 楼 的回复:]
<select name="area[1]" id="areaFrist" onChange="alert(window.assignSelect)"

改成这样看看,如果没有输入assignSelect的函数体而输出undefined,那么就是js文件没有加载成功,或者加载了js文件,但是由于js文件存储编码和当前页面使用的编码不一致,导致中文乱码从而使脚本出错


看你这些有些是用u……
[/Quote]
回复 点赞
<select name="area[1]" id="areaFrist" onChange="alert(window.assignSelect)"

改成这样看看,如果没有输入assignSelect的函数体而输出undefined,那么就是js文件没有加载成功,或者加载了js文件,但是由于js文件存储编码和当前页面使用的编码不一致,导致中文乱码从而使脚本出错


看你这些有些是用utf-8编码的,是不是formselectset.js也使用了utf-8?如果是也需要增加charset,要不当前页面编码不是utf-8编码会,formselectset.js有中文注释出现乱码。
<script type="text/javascript" src="__PUBLIC__/js/formselectset.js"></script>
<script type="text/javascript" src="__PUBLIC__/js/uploadify/jquery.uploadify-3.1.min.js"></script>
<script type="text/javascript" src="__PUBLIC__/js/formValidator-4.0.1.min.js" charset="UTF-8"></script>
<script type="text/javascript" src="__PUBLIC__/js/formValidatorRegex.js" charset="UTF-8"></script>
<script type="text/javascript" src="__PUBLIC__/js/My97DatePicker/WdatePicker.js" language="javascript"></script>
回复 点赞
liyangyun1986 2012年10月11日
这样的

<select name="area[1]" id="areaFrist" onChange="assignSelect(new Array('areaTwo','areaThree'),'__GROUP__/Scenic/ajaxSelectArea',this.value);">
<volist name="areaList" id="area" key="k">
<option value="{$area.id}">{$area.name}</option>
</volist>
</select>
<select name="area[2]" id="areaTwo" onchange="assignSelect(new Array('areaThree'),'__GROUP__/Scenic/ajaxSelectArea',this.value);">
<option value="0">请选择</option>
<volist name="areaTwo" id="vo" key="k">
<option value="{$vo.id}">{$vo.name}</option>
</volist>
</select>
<select name="area[3]" id="areaThree">
<option value="0">请选择</option>
</select>

[Quote=引用 3 楼 的回复:]
你怎么使用的,贴代码看看
[/Quote]
回复 点赞
你怎么使用的,贴代码看看
回复 点赞
liyangyun1986 2012年10月11日
这句没执行 ,所以我很郁闷 ,明明引入js文件了啊,为什么不执行呢
[Quote=引用 1 楼 的回复:]
JScript code

function assignSelect(arrayId,ajaxUrl,ajaxdata){
alert('进入assignSelect');///////执行这句没有?
for(var i =0;i<arrayId.length;i++){
removeAll(arrayId[i]);//移除option
add……
[/Quote]
回复 点赞
function assignSelect(arrayId,ajaxUrl,ajaxdata){
alert('进入assignSelect');///////执行这句没有?
for(var i =0;i<arrayId.length;i++){
removeAll(arrayId[i]);//移除option
addOneOption(arrayId[i]);
if(i==0&&ajaxdata!="0"){
ajaxSelect(arrayId[i],ajaxUrl,ajaxdata);
}
}
}
回复 点赞
liyangyun1986 2012年10月11日
谢谢哈~原因找到了是jquery的ajax里面多了一个逗号,导致js文件加载失败
[Quote=引用 8 楼 的回复:]
ie8能运行,ie6不行,基本是编码的问题了,自己查查看编码

如果你那个js文件的存储编码为ansi,要给script加charset="gb2312",为utf-8需要加charset="utf-8"
[/Quote]
回复 点赞
liyangyun1986 2012年10月11日
谢谢
[Quote=引用 7 楼 的回复:]
统一你的页面编码方式,你在formselectset.js顶部,不是函数体中增加一句:alert('正在加载');看看有反应没

最简单的测试方法,另新建一html页面
就只加载formselectset.js
做一个小未例就知道了

从代码和使用上看不出任何问题。要么你路径搞错,要么你编码出现问题
[/Quote]
回复 点赞
发动态
发帖子
JavaScript
创建于2007-09-28

5.1w+

社区成员

22.3w+

社区内容

Web 开发 JavaScript
社区公告
暂无公告