javascritp实现input输入框相关限制用法
1.取消按钮按下时的虚线框
在input里添加属性值 hideFocus 或者 HideFocus=true
2.只读文本框内容
在input里添加属性值 readonly
3.防止退后清空的TEXT文档(可把style内容做做为类引用)
<INPUT style=behavior:url(#default#savehistory); type=text id=oPersistInput>
4.ENTER键可以让光标移到下一个输入框
<input onkeydown="if(event.keyCode==13)event.keyCode=9" >
5.只能为中文(有闪动)
<input onkeyup="value=value.replace(/[ -~]/g,'')" onkeydown="if(event.keyCode==13)event.keyCode=9">
6.只能为数字(有闪动)
<input onkeyup="value=value.replace(/[^/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))">
7.只能为数字(无闪动)
<input style="ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9" onKeyPress="if ((event.keyCode<48 || event.keyCode>57)) event.returnValue=false">
8.只能输入英文和数字(有闪动)
<input onkeyup="value=value.replace(/[/W]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))">
9.屏蔽输入法
<input type="text" name="url" style="ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9">
10. 只能输入 数字,小数点,减号(-) 字符(无闪动)
<input onKeyPress="if (event.keyCode!=46 && event.keyCode!=45 && (event.keyCode<48 || event.keyCode>57)) event.returnValue=false">
11. 只能输入两位小数,三位小数(有闪动)
<input maxlength=9 onkeyup="if(value.match(/^/d{3}$/))value=value.replace(value,parseInt(value/10)) ;value=value.replace(//./d*/./g,'.')" onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 && event.keyCode!=45 || value.match(/^/d{3}$/) || //./d{3}$/.test(value)) {event.returnValue=false}" id=text_kfxe name=text_kfxe>
--------------------------------------------------------------------------------------------------
几种常用禁止修改输入框的方法
1, 通过js实现-onfocus="this.blur()"
代码: | |
|
输入框无法获得焦点,不能编辑
表单可以获得值。
可以复制。
蛮奇怪的,都选住了,还没有获得焦点?
2,readonly
代码: | |
|
输入框只读。不能编辑
同样表单可以获得值。
也可以复制。
3,disabled
代码: | |
|
输入框灰色,不能编辑
可以用JS改变或获得其值,但提交时并不提交该值。
第一和第二效果差不多。视觉上
第一个,点击的时候光标会闪烁一下。
第三个,灰色的输入框看起来还是不喜欢。
输入框自动更新
要完成此效果把如下代码加入到<body>区域中
<form name=form>
<div align="center">输入字符 -
<input type=text name=textvalue size=25>
<br>
<br>
一次复制 -
<input type=text name=mem1 size=25 onFocus="if (this.value == ''){this.value=(textvalue.value)}">
<br>
两次复制 -
<input type=text name=mem2 size=25 onFocus="if (this.value == ''){this.value=(textvalue.value + ' ' + textvalue.value)}">
<br>
<br>
<input type=reset value="Reset" name="B2">
</div>
</form>