一个奇怪的JS错误
在调用一个JS函数时,出现奇怪的错误,函数如下:
function onClickSendAdd()
{ //把左边复选框中选中的内容添加到右边复选框中
var selSend = document.getElementById("send_sel");
if(content.content.selectedIndex == -1){//1111
return;
}
for(var i = 0; i < content.content.options.length; i++){
if(content.content.options[i].selected == true && content.content.options[i].org.id != ""){
var selectedOrg = content.content.options[i].org;
var newOpt = document.createElement("option");
newOpt.appendChild(document.createTextNode(selectedOrg.name));
newOpt.value = selectedOrg.id;
selSend.appendChild(newOpt);
}
}
//找出右边复选框中重复的纪录加以标记
var optToDel = new Array();
for(var i = 0; i < selSend.options.length; i++){
for(var j = i + 1; j < selSend.options.length; j++){
if(selSend.options[i].value == selSend.options[j].value){
optToDel.push(i);//alert("push i="+i+" optToDel[i]="+optToDel[i]);
break;
}
}
}
//删除右边重复选择的纪录
for(var i = 0; i < optToDel.length; i++){//2222
selSend.remove(optToDel[i]);//3333
alert("i="+i+" optToDel[i]="+optToDel[i]+" optToDel.length="+optToDel.length);
subArr(optToDel);
}
}
这个函数是在一个弹出窗口页面中调用的,现在用到该函数时老是弹出一个js脚本错误提示框:未指明的错误,但是只要在上面所标记的1111和2222之间任何一个位置加一个alert语句,alert什么内容都没关系,比如alert();就不会弹出什么脚本错误,一切运行正常,实在想不明白怎么回事,请高手指点!( 其中3333处的行如果注释掉,运行也一切正常,但这行也没什么错啊,alert的话参数值都显示正常的)
function onClickSendAdd()
{ //把左边复选框中选中的内容添加到右边复选框中
var selSend = document.getElementById("send_sel");
if(content.content.selectedIndex == -1){//1111
return;
}
for(var i = 0; i < content.content.options.length; i++){
if(content.content.options[i].selected == true && content.content.options[i].org.id != ""){
var selectedOrg = content.content.options[i].org;
var newOpt = document.createElement("option");
newOpt.appendChild(document.createTextNode(selectedOrg.name));
newOpt.value = selectedOrg.id;
selSend.appendChild(newOpt);
}
}
//找出右边复选框中重复的纪录加以标记
var optToDel = new Array();
for(var i = 0; i < selSend.options.length; i++){
for(var j = i + 1; j < selSend.options.length; j++){
if(selSend.options[i].value == selSend.options[j].value){
optToDel.push(i);//alert("push i="+i+" optToDel[i]="+optToDel[i]);
break;
}
}
}
//删除右边重复选择的纪录
for(var i = 0; i < optToDel.length; i++){//2222
selSend.remove(optToDel[i]);//3333
alert("i="+i+" optToDel[i]="+optToDel[i]+" optToDel.length="+optToDel.length);
subArr(optToDel);
}
}
这个函数是在一个弹出窗口页面中调用的,现在用到该函数时老是弹出一个js脚本错误提示框:未指明的错误,但是只要在上面所标记的1111和2222之间任何一个位置加一个alert语句,alert什么内容都没关系,比如alert();就不会弹出什么脚本错误,一切运行正常,实在想不明白怎么回事,请高手指点!( 其中3333处的行如果注释掉,运行也一切正常,但这行也没什么错啊,alert的话参数值都显示正常的)
...全文
相关推荐
http-playground:该库是一种尝试学习如何使用Javascript代码提供良好的库API的尝试。 这只是一个实验和学习的地方。 期待错误和奇怪的行为
HTTP游乐场 该库是一种尝试学习如何使用Javascript代码提供良好的库API的尝试。 这只是一个实验和学习的地方。 期待错误和奇怪的行为。 当前的问题 每次添加成功/失败处理程序时,都会将其存储为全局状态。 翻过多次调用HTTP.get ,追加程序不复位,都将在每次请求调用。
field-js:一种非常奇怪的计算语言(设计尖峰)
现场语言 field语言实际上很奇怪,这很多来自我。 稍后我必须解释。 这是field解释器的设计尖峰。
StrangeDay:工地代码奇怪的一天
StrangeDay:工地代码奇怪的一天
JS注释所产生的bug 即使注释也会执行
写js时出现个bug一直提示我JAVA类中的一个属性没有,可是明明注释掉了,后来才知道,JS里即使注释也会执行
freecodecamp-javascript:我的一些奇怪的解决方案
freecodecamp-javascript 只是我一些奇怪的解决方案


