NO.10 RADIO、CHECKBOX、SELECT、FILE 实现readonly(JavaScript实现)

 知识库总目录: No.0 Web开发知识库

(迁移自三年前我的MSN Live space,顺便补一下空缺编号:)

 

    为了效率,为了规范,更为了偷懒,我们需要重用。

    近来写页面时,老想将查看页和增加修改页共用一个页,那就想着当判断是查看页面时将表单中的元素只读一下就OK了。但不知道为啥发布HTML的老大们不给RADIO,CHECKBOX,SELECT设置READONLY属性捏?
    开始想办法。
    先是发现他们的"DISABLED"属性虽然实现无法修改值,但却会让他们的值无法提交到服务器。后来有人指出可以在提交前让disabled=false;不过这样做有风险,如果提交时服务器响应很慢的话,用户有足够的时间去修改!(user是很邪恶滴!) 
    不过人民的智慧是无穷滴!还是从网上找到很多别的途径来达到只读目的,下面各自介绍一种可用性比较强的实现方法:
 
RADIO:
<input  type=radio οnclick="return false;">
(2007-09-05修改)真的是非常抱歉,这个方法实际上行不通,今儿个更新一下:
<input type="radio" οnclick="this.checked=false;" name="a" >
<input type="radio" οnclick="this.checked=true;" name="a" checked>

 
CHECKBOX:
<input  type=checkbox  οnclick="this.checked=!this.checked">
 
SELECT:
  <select   οnchange="this.selectedIndex=1">  
  <option>1</option>  
  <option   selected>2</option>  
  <option>3</option>  
  </select>
 
FILE:
<input name="txtFake" type="text" size="50" readonly>
<input style="width:0px;border:0px;" type="file" name="fj" onpropertychange="txtFake.value=this.value">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值