html设置文本框只读属性,juqery/js/css设置文本框只读属性的方法

本文介绍了如何在HTML中设置文本框为只读,包括修改onfocus事件、添加readonly和disabled属性。还探讨了使用jQuery进行只读设置,并展示了通过CSS控制文本框只读状态的方法,但指出一旦使用CSS修饰为只读,就无法通过js简单恢复可读写。最后,提供了一种通过切换CSS类实现只读与可读写的解决方案,以及相应的JavaScript函数用于切换状态。
摘要由CSDN通过智能技术生成

一、设置HTML表单文本框为只读的几种方式

有时候,我们希望表单中的文本框是只读的,让用户只能查看信息而不能修改其中的信息,使 input type=”text” name=”input” value=”HTML” 的内容中value得值,就是”HTML”不可以修改。实现的方式有如下几种。

方法一:修改 onfocus 参数为 this.blur()

方法二:添加 readonly 参数

方法三:添加 disabled 参数

二、jQuery将text文本框设置为只读$("#c_price").attr("readonly",true);

三、CSS控制文本框的只读属性的方法

css 封装整个只读文本框的属性:.TextBoxReadOnly

{

border:1px solid #C0C0C0;

text-align:left;

background-color:#D3D3D3;

width:100px;

readonly:expression(this.readOnly=true);

}

它工作得很好, 经过测试, 发现了一个问题: 用js 代码: txt.readOnly=false , 不能使文本框回到可读写状态, 用:

txt.className="OtherStyle";txt.readOnly=false;也不行! 总之, 一旦使用css 修饰了该控件使它只读, 就不能再使它恢复到可读写的状态了. 即使换成其它的css 样式, 有知道的朋友,请告知下哦。.

于是乎, 又写了一个样式:.TextBoxReadWrite

{

border:1px solid #C0C0C0;

text-align:left;

background-color:#FFFFFF;

width:100px;

readonly:expression(this.readOnly=false);

}

这样再用js 切换样式, 就可以在只读与可读写之间来回切换了, 把这个过程封装到一个函数中, 在程序中就可以自由调用了, 虽然有点绕, 不过是目前我找到的最好的办法.

切换的js:function f1(ctr,isReadOnly)

{

var octr=document.getElementById(ctr);

if(octr!=null)

{

if(isReadOnly)

octr.className="TextBoxReadOnly";

else

octr.className="TextBoxReadWrite";

}

}

调用:function f3()

{

f1("",true);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值