求救!!怎么用JS来实现select的disabled~~!

sky_tian99 2010-10-08 11:06:42
这个问题已经困扰我一天了,因为要动态的设置select的可用属性,所以想到用disabled这个属性来控制,但是发现用了disabled之后,在后台的Form获得不到前台的值,所以不能用disabled来实现。
在网上找了很多的实现方法,其中说的最多的就是
function setReadOnly(obj){

obj.onmouseover = function(){
obj.setCapture();
}
obj.onmouseout = function(){
obj.releaseCapture();
}
obj.onfocus = function(){
obj.blur();
}
obj.onbeforeactivate = function(){
return false;
}
}
这个函数,但是我用了之后,发现我的select下拉框还是可用,这到底是为什么啊?
难道是因为IE8不支持的问题?跪等高人来救命啊~~!
...全文
1205 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sky_tian99 2010-10-09
这个问题已经解决了,就是在select控件的外边加一个span就好了,还是用刚开始的那个函数。谢谢大家帮我解决问题。
回复
fay272 2010-10-09
楼主如果想让select不可用,可以试下这种方法:当select被选中的时候,直接让其失去焦点。
<select onfocus="this.blur();">
回复
sky_tian99 2010-10-09
用隐藏控件的这个方法我也想过,但是因为画面上的下拉框比较多,所以要再formbean中加很多的属性。
并在画面上有三个radiobutton,分别代表了三种状态。选择其中一种时,画面上的有些控件就被设置成不可用的。
还有就是select控件是不支持readonly这个属性的。
这次要实现的效果就是 不使用disabled这个属性 而实现select的disabled功能。
在网上找到方法都是我在1L写的那个函数。但是为什么我加上就不行呢?
回复
closewbq 2010-10-09
用隐藏域做。
当没有禁用select的时候,先将它的值赋值给hidden,然后再将它disabled
回复
bray_08 2010-10-09
楼主要想不显示的话,也可以用style='display:none'。这样值是可以取到。但是不会显示出来给客户的。
如果是个输入框的话。也可以用hidden来隐藏值。
回复
Spring89 2010-10-08
你可以考虑采用readonly,但用这个,给客户的效果不好,如果用disabled那么可以用hidden把需要的值传到后台
回复
Elim-Zhang 2010-10-08
对啊,用disabled是获取不到数据的啊,那你是想让它在不能用的时候也给你返回一个数据吗,如果是这样的话,那你就可以给它设置一个默认值啊,就是在不能用的时候就在后台默认给它一个值
回复
sky_tian99 2010-10-08
刚才在IE7上试了一下,依然是不行,看来不是浏览器版本的问题了
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-08 11:06
社区公告
暂无公告