CSS控制文本框的只读属性的几种方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CSS控制文本框的只读属性的方法
●解决方案一:
有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使
的内容,"中国"两个字不可以修改。
实现的方式归纳一下,有如下几种:
方法1:
onfocus=this.blur() //当鼠标放不上就离开焦点
方法2:readonly
方法3:disabled
完整的例子:
disabled="true" //此果文字会变成灰色,不可编辑
readOnly="true" //文字不会变色,也是不可编辑的
css屏蔽输入:
有两种方法第一:disabled="disabled"这样定义之后被禁用的input 元素既不可用,也不可点击。第二:readonly="readonly" 只读字段是不能修改的。
不过,用户仍然可以使用tab 键切换到该字段,还可以选中或拷贝其文本。
●解决方案二:
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)
{
varoctr=document.getElementById(ctr);
if(octr!=null)
{
if(isReadOnly)
octr.className="TextBoxReadOnly";
else
octr.className="TextBoxReadWrite";
}
}
调用:
function f3()
{
f1("<%=txt1.ClientID %>",true);
}
HTML页面控制方式: