`

控制输入法演示

 
阅读更多

 

作者:赵磊

博客:http://elf8848.iteye.com

 

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

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

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

 

 

演示的截图:

 

 

演示的HTML代码如下:

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

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>自动切换输入法演示</title>
<script type="text/javascript" src="js/jquery.js"></script>
</head>
<body>
	
说明:本测试依赖js/jquery.js
<br/><br/><br/><br/>

----JS控制输入内容演示---- <br/>
原始的文本框:<input type="text" class=""/> <br/>
只允许输入数字和小数点:<input type="text" class="checkNum" />(js实现)


<br/><br/><br/><br/>
----CSS控制输入法演示---- <br/>
请注意输入法的变化<input type=text size=20 style="ime-mode:auto;" value="">style="ime-mode:auto;" auto 代表打开输入法 (默认)<br>  
请注意输入法的变化<input type=text size=20 style="ime-mode:active;" value="">style="ime-mode:active;" active 代表输入法为中文<br>  
请注意输入法的变化<input type=text size=20 style="ime-mode:inactive;" value="">style="ime-mode:inactive;" inactive 代表输入法为英文<br>  
请注意输入法的变化<input type=text size=20 style="ime-mode:disabled;" value="">style="ime-mode:disabled;" disable 代表关闭输入法<br> 
<br/><br/>

<script type="text/javascript">
//监听键盘,只允许输入数字和小数点   
$(".checkNum").keypress(function(event) { 
    var keyCode = event.which;   
    if (keyCode == 46 || (keyCode >= 48 && keyCode <=57))   
        return true;   
    else  
        return false;   
}).focus(function() {   
    this.style.imeMode='disabled'; 
}); 

//auto:默认值。不影响IME的状态。与不指定 ime-mode 属性时相同 
//active:指定所有使用IME输入的字符。即激活本地语言输入法。用户仍可以撤销激活IME 
//inactive:指定所有不使用IME输入的字符。即激活非本地语言。用户仍可以撤销激活IME 
//disabled:完全禁用IME。对于有焦点的控件(如输入框),用户不可以激活IME 

//auto 代表打开输入法 (默认)
//active 代表输入法为中文
//inactive 代表输入法为英文
//disable 代表关闭输入法

</script>
</body>
</html>
 

 

修正:

 

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

 

	//获得事件对象
	function getEventObject(){
		if(window.event) return window.event;
	    var f=getEventObject.caller;
	    while(f!=null)
	    {
	        var e = f.arguments[0]; 
	        if(e && (e.constructor==MouseEvent||e.constructor==Event||e.constructor==KeyboardEvent)) return e;
	              
	        f=f.caller;
	    }
	    return null;
	};
	//只能输入数字
	function checkInputPageNumber(){
		var event=getEventObject();
		var keyCode = event.keyCode||event.which||event.charCode; 
	    if (keyCode==8|| keyCode==46 ||(37 <= keyCode && keyCode <=40) || (48 <= keyCode && keyCode <=57)){
	    	return true;   
	    }else{
	    	return false;  
	    } 
	}
 

 

  • 大小: 59.1 KB
分享到:
评论
1 楼 LJY_SUPER 2015-09-09  

相关推荐

    BW-DK5438开发板中/英文输入法演示程序

    【BW-DK5438开发板中/英文输入法演示程序】是针对MSP430单片机设计的一款应用程序,它展示了如何在嵌入式系统上实现中文和英文的输入功能。这个项目使用了IAR Embedded Workbench IDE for MSP430 v4.21,这是一个专...

    asp.net 如何控制输入法

    本文将深入探讨如何在ASP.NET中控制输入法,这对于那些需要处理多语言输入或特定输入格式的应用来说至关重要。 ### ASP.NET与输入法控制 在ASP.NET中控制输入法主要涉及两个方面:一是识别当前用户的输入法设置,...

    在VB中切换中文输入法的演示(4KB)...

    这个项目不仅提供了理论知识,还有实际的编程实践,通过查看和运行代码,用户可以理解如何在VB程序中控制和切换输入法。 标签中的“api”、“编程技巧”和“源代码”进一步揭示了这个压缩包的内容。"api" 指的是API...

    c++输入法切换的源码

    总的来说,这个项目提供了一个实用的C++示例,演示了如何利用Windows API在程序中实现输入法的切换,这对于开发需要控制输入法环境的软件非常有帮助。通过学习和理解这段代码,开发者可以进一步了解Windows平台下的...

    取当前输入法名称

    然而,它通常不直接用于获取输入法信息,而是与输入法控制相关的应用中使用。 4. **ImmGetDescriptionA**:这才是真正用于获取输入法描述的函数。它接受一个KLID作为参数,返回对应输入法的本地化描述字符串,如...

    易语言_api切换输入法_英文.zip

    在Windows系统中,通过API函数可以实现与系统的深度交互,包括控制输入法的切换。易语言中通过调用API函数,可以方便地实现从当前输入法切换到英文输入法。 首先,我们需要了解Windows API中用于管理输入法的相关...

    QQ拼音输入法接口.rar

    - **输入法切换**:控制输入法的状态,如切换到QQ拼音输入法或退出。 - **词库管理**:导入、导出、更新词库,提供个性化的词汇服务。 - **皮肤更换**:允许用户自定义输入法的外观和主题。 2. **SDK**: SDK则...

    输入法工程代码

    4. **利用输入法注入DLL演示.exe**:这是一个可执行文件,可能是一个演示程序,展示如何将DLL文件注入到输入法进程中,这种技术有时用于扩展或调试输入法功能。 5. **Form1.frm**和**Form1.frx**:这是Visual Basic...

    IME_Set.rar_IME_Set_系统输入法_输入法 _输入法 delphi

    6. **示例代码**:"MyImmTest.gif"可能是演示如何在Delphi中控制输入法的图形化教程,而"2ccc.com.nfo"可能包含了关于这个示例的详细信息。"MyImmTest"这个文件可能是一个可执行文件,用户可以运行它来查看和理解...

    全屏输入法

    当运行全屏应用程序,如游戏或演示软件时,通常输入法窗口会隐藏或者无法正常交互,导致用户无法在全屏模式下选择或切换输入内容。这个问题通常是由于系统设置、输入法兼容性或输入法设置不当造成的。以下是一些关于...

    Unity的pico开发VR输入法.7z

    - 示例场景(Sample Scenes):演示如何在项目中使用该输入法的Unity场景。 - 文档(Documentation):可能包含使用指南、API参考等内容,帮助开发者理解和集成此输入法。 总的来说,这个压缩包提供的VR输入法解决...

    Delphi下编程实现中文输入法

    IMM 提供了一系列函数用于控制输入法的行为,包括但不限于激活特定的输入法、检测当前输入法的状态等。为了实现这些功能,我们需要了解一些关键的 API 函数以及它们的用法。 #### 二、API 函数介绍 1. **...

    dbus调用系统输入法显隐

    在Linux环境中,输入法框架如Fcitx、IBus等利用DBus来实现与应用之间的交互,控制输入法的显示和隐藏。Qt是一个跨平台的C++图形用户界面应用程序开发框架,它也支持通过DBus接口与系统服务进行通信。 本文将深入...

    格式化文字代码和演示代码.rar_文字游戏_输入法

    这里我们主要探讨“格式化文字代码”和“演示代码”这两个概念,以及它们如何与“文字游戏”和“输入法”相结合。 首先,让我们来看看“格式化文字代码”。在编程中,代码的格式化至关重要,它关乎到代码的可读性和...

    输入法钩子源代码,C++

    在IT领域,钩子(Hook)是一种...开发者可以通过研究这个代码,掌握如何拦截和控制输入法操作,为自己的应用程序增添独特功能或者进行深入的系统分析。同时,这也是对Windows API和C++系统编程的一个很好的实践机会。

    KFC123百度手写输入法插件源码及调用演示

    本文将深入探讨“KFC123百度手写输入法插件”的源码结构、工作原理,并通过实际演示来阐述如何调用与应用。 一、百度手写输入法概述 百度手写输入法是百度公司推出的一款高效、智能的输入工具,它集成了先进的手写...

    T9 输入法C源码 TC实现 MCU

    在这个项目中,我们关注的是如何在没有操作系统支持的微控制器(MCU)环境中,利用Turbo C(TC)编译器来实现T9输入法。 首先,我们需要理解T9输入法的核心原理。T9输入法通过预测用户可能输入的单词来提高输入效率...

    Windows语音输入法

    例如,在演示文稿制作时,用户可以直接口述内容,系统会自动转化为文字;在聊天应用中,可以实现语音消息的实时转录;甚至在游戏环境中,玩家可以通过语音控制角色行动,提高游戏体验。 为了提升用户体验,Windows...

    如何获取和设置输入法

    而在iOS和Android平台上,我们可以分别使用`UIInputViewController`和`InputMethodManager`来控制输入法。 2. **事件监听**:通过监听键盘事件,程序可以获知用户的输入行为。例如,JavaScript中的`...

    百度手写输入法源码 v1.0

    而"shouxie.htm"可能是输入法的主界面或者演示页面,展示了用户如何通过鼠标或触屏设备进行手写输入的操作流程。 在"javascript"文件夹中,我们可以预见到核心的JavaScript代码,这是实现手写输入功能的关键。...

Global site tag (gtag.js) - Google Analytics