動態添加在firefox下出現問題!

快跑蜗牛哥 2009-06-08 02:52:14
在IE或世界之窗等浏览器下能实现添加、删除,
在firefox下出现问题!
代码如下:
<HTML> 
<HEAD>
</HEAD>
<BODY> <form name=addUserForm action='test1.jsp' >
<select size="1" id="one" name="one">
<option>测试</option>
<option>无情 </option>
<option>谁知道 </option>
<option>JAVA </option>
<option>C++ </option>
<option>PERL </option>
<option>CSS </option>
<option>JAVASCRIPT </option>
</select>

<select size="5" multiple="multiple" id="two" name="two" >

</select>
<input type="button" value="添加" onMouseMove='tt()' onclick="add()"/>
<input type="button" value="删除" onclick="del()"/>
<input type="submit" value="提交" >
</form>
</BODY>
</HTML>
<script>
var add=function(){
var obj=document.getElementById("two");
if(obj.length >=3)
{
alert("大于3个了");
return ;
}else{
for(var i=0;i <obj.length;i++)
{
if(obj[i].text == document.getElementById("one")[document.getElementById("one").selectedIndex].text)
{
alert("存在该值了");
return;
}
}
var valu=document.getElementById("one")[document.getElementById("one").selectedIndex].text;
obj.add(new Option(valu,valu));

}
};
var del=function(){
if(document.getElementById("two").selectedIndex!=-1){
document.getElementById("two").options.remove(document.getElementById("two")[document.getElementById("two").selectedIndex]);
}else{
alert("先选择要删除的");
}
};
var sub=function(){
if(document.getElementById("two").options.length==0){
alert("XXX的值不能为空");
return false;
}
};
function tt()
{
for(i=0;i<addUserForm.two.length;i++)
{
addUserForm.two[i].selected=true;
}
return true;
}
</script>

请帮忙修改一下
...全文
36 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
快跑蜗牛哥 2009-06-08
  • 打赏
  • 举报
回复
TKS!!!有空去看看
william3033 2009-06-08
  • 打赏
  • 举报
回复
document.getElementById("two").removeChild(document.getElementById("two").options[document.getElementById("two").selectedIndex]);

改为这样
操作选项是操作select里面的options,不是直接操作select对象。
删除我采用的removeChild,里面填充子元素,也就是单个的option即可。
william3033 2009-06-08
  • 打赏
  • 举报
回复
document.getElementById("two").options.remove(document.getElementById("two")[document.getElementById("two").selectedIndex]);
改为
document.getElementById("two").removeChild(document.getElementById("two")[document.getElementById("two").selectedIndex]);

还是上面那句话,要标准,可以查查msdn。
快跑蜗牛哥 2009-06-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 william3033 的回复:]
obj.add(new Option(valu,valu));
改为
obj.options.add(new Option(valu,valu));

你的写法有些不标准,其实应该是操作select下面的options,比如获得length最好也这样。
[/Quote]
TKS!!william3033 !!
改了以后,添加正常,但删除还是一样啊
william3033 2009-06-08
  • 打赏
  • 举报
回复
obj.add(new Option(valu,valu));
改为
obj.options.add(new Option(valu,valu));

你的写法有些不标准,其实应该是操作select下面的options,比如获得length最好也这样。

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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