alert影响JS程序的运行?

攀峰者 2009-05-11 12:35:37
alert一般作为调试JS用的,可是有的时候它也会影响到JS程序的运行,比如我加了alert()程序就正常运行,而去掉就不正常!
请问谁遇到过这样的问题,解释一下这是什么原因,alert除了提示框还有其他功能?
代码我就不贴了,涉及到很多业务的内容,也很复杂,不太容易看懂!
还是贴出来吧,万一谁能看懂也说不准,呵呵!
在最内层FOR循环的任意位置加一句alert();程序就正常,否则中间一层的循环好像只执行一次!
function setup(j_km1_0,d_km1_0,j_km1_1,d_km1_1,j_km1_2,d_km1_2,j_km1_3,d_km1_3,j_km2_0,d_km2_0,j_km2_1,d_km2_1,j_km2_2,d_km2_2,j_km2_3,d_km2_3,j_km3_0,d_km3_0,j_km3_1,d_km3_1,j_km3_2,d_km3_2,j_km3_3,d_km3_3,j_km4_0,d_km4_0,j_km4_1,d_km4_1,j_km4_2,d_km4_2,j_km4_3,d_km4_3){

// 循环凭证中的每一项,i表示第几项
var j_km;
var j_km_id;
var j_sid;
var j_did;

for(var i=0;i<item_num;i++){
// 循环凭证项中的4个借方科目
for(var k=1;k<4;k++){
alert(k);
// 借方科目的select
j_km=document.getElementById("j_km"+k+"_id"+i);
// 借方科目id(取传进来的参数)
j_km_id=eval("j_km" + k + "_" + i);
// 借方下级科目的select.id
j_sid="j_km" + (k+1) + "_id" + i;
// 借方下级科目的div.id
j_did="select" + i + "j" + k;
// 寻找借方一级科目在select中的位置
for(var a=0;a<j_km.options.length;a++){
if(j_km_id==j_km.options[a].value){
j_km.options[a].selected = true;
selectkm(j_sid,j_did,j_km.value,'/caiwupingzheng/show/xml/kemu',k+1);
a=1000;
}
}

}

}
}
...全文
334 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookee 2009-05-11
  • 打赏
  • 举报
回复
可能的情况是alert的时候,为浏览器加载id为j_kmX_idX的元素提供了时间。
也就是说,程序运行的是时候,相关对象还没加载完毕。
调整一下脚本的位置确保对象能先加载完毕试试看

87,995

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧