心得:实践证明第1种方法不好用,因为只能输入数字,当全选文本框,或者写错输入delete时都会提示出错。
第2中方法去掉execCommand('undo')更好用。
1、只能输入数字0~9
<input id="Contract_Number" runat="server" class="text" οnkeyup="if(event.keyCode < 48 || event.keyCode >57) {alert('只能输入数字');this.value='';}"/>
其中,onkeyup事件在键盘按键被松开时发生。
http://www.w3school.com.cn/htmldom/event_onkeyup.asp关于onkeyup的详细用法及实例,还可以在网页中修改代码直接运行。
onkeyup与onkeydown的区别是:onkeydown是在按下键盘时发生,这时键值还没有输出,所以如果完成“文本框输入时统计文本框里输入了多少字”这个功能,要用onkeyup。
alert事件是显示一条指定的消息,后面要加分号。
this.value=''; 清空当前文本框
2、只能输入数字
<input id="Contract_Number" runat="server" class="text"
οnkeyup="if(isNaN(value)) {execCommand('undo');alert('只能输入数字');this.value='';}"
onafterpaste="if(isNaN(value)) {execCommand('undo');alert('只能输入数字');}"/>
其中,onafterpaste事件是粘贴之后发生。
execCommand('undo')是撤销的作用
3、只能输入数字——改进
<input id="Contract_Number" runat="server" class="text"
οnkeyup="if(isNaN(value)) {alert('只能输入数字');this.value='';}"
onafterpaste="if(isNaN(value)) {alert('只能输入数字');}"/>