求救!!怎么用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不支持的问题?跪等高人来救命啊~~!
...全文
1411 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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上试了一下,依然是不行,看来不是浏览器版本的问题了

81,122

社区成员

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

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