控制输入法演示

开发一般的B/S架构的管理类型应用,都需要大量录入表单。

如果能依据输入的内容的类型,智能的切换输入法,那可太人性化了。

比如:录入中文姓名时自动换成中文输入法,录入英文名时自动换成英文输入法,录入数字时只有录入1-9。

 

伦理片 http://www.gxuy.com/

演示的截图:

 

 

演示的HTML代码如下:

其中使用了js/jquery.js,你自己加入。

Html代码   收藏代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  2. <html>  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=GBK">  
  5. <title>自动切换输入法演示</title>  
  6. <script type="text/javascript" src="js/jquery.js"></script>  
  7. </head>  
  8. <body>  
  9.       
  10. 说明:本测试依赖js/jquery.js  
  11. <br/><br/><br/><br/>  
  12.   
  13. ----JS控制输入内容演示---- <br/>  
  14. 原始的文本框:<input type="text" class=""/> <br/>  
  15. 只允许输入数字和小数点:<input type="text" class="checkNum" />(js实现)  
  16.   
  17.   
  18. <br/><br/><br/><br/>  
  19. ----CSS控制输入法演示---- <br/>  
  20. 请注意输入法的变化<input type=text size=20 style="ime-mode:auto;" value="">style="ime-mode:auto;" auto 代表打开输入法 (默认)<br>    
  21. 请注意输入法的变化<input type=text size=20 style="ime-mode:active;" value="">style="ime-mode:active;" active 代表输入法为中文<br>    
  22. 请注意输入法的变化<input type=text size=20 style="ime-mode:inactive;" value="">style="ime-mode:inactive;" inactive 代表输入法为英文<br>    
  23. 请注意输入法的变化<input type=text size=20 style="ime-mode:disabled;" value="">style="ime-mode:disabled;" disable 代表关闭输入法<br>   
  24. <br/><br/>  
  25.   
  26. <script type="text/javascript">  
  27. //监听键盘,只允许输入数字和小数点     
  28. $(".checkNum").keypress(function(event) {   
  29.     var keyCode = event.which;     
  30.     if (keyCode == 46 || (keyCode >= 48 && keyCode <=57))     
  31.         return true;     
  32.     else    
  33.         return false;     
  34. }).focus(function() {     
  35.     this.style.imeMode='disabled';   
  36. });   
  37.   
  38. //auto:默认值。不影响IME的状态。与不指定 ime-mode 属性时相同   
  39. //active:指定所有使用IME输入的字符。即激活本地语言输入法。用户仍可以撤销激活IME   
  40. //inactive:指定所有不使用IME输入的字符。即激活非本地语言。用户仍可以撤销激活IME   
  41. //disabled:完全禁用IME。对于有焦点的控件(如输入框),用户不可以激活IME   
  42.   
  43. //auto 代表打开输入法 (默认)  
  44. //active 代表输入法为中文  
  45. //inactive 代表输入法为英文  
  46. //disable 代表关闭输入法  
  47.   
  48. </script>  
  49. </body>  
  50. </html>  
 

 

修正:

 

上面的JS目的是控制只能输入数字,结果连退格、del、左右键 都不让输入了,下面的做了修正,并解决了一项浏览器兼容问题。

 

Js代码   收藏代码
  1. //获得事件对象  
  2. function getEventObject(){  
  3.     if(window.event) return window.event;  
  4.     var f=getEventObject.caller;  
  5.     while(f!=null)  
  6.     {  
  7.         var e = f.arguments[0];   
  8.         if(e && (e.constructor==MouseEvent||e.constructor==Event||e.constructor==KeyboardEvent)) return e;  
  9.                 
  10.         f=f.caller;  
  11.     }  
  12.     return null;  
  13. };  
  14. //只能输入数字  
  15. function checkInputPageNumber(){  
  16.     var event=getEventObject();  
  17.     var keyCode = event.keyCode||event.which||event.charCode;   
  18.     if (keyCode==8|| keyCode==46 ||(37 <= keyCode && keyCode <=40) || (48 <= keyCode && keyCode <=57)){  
  19.         return true;     
  20.     }else{  
  21.         return false;    
  22.     }   
  23. }  
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值