頁面輸入框經常有只允許輸入數字的限制,一般都用onpropertychange事件比較簡單,之前寫了這樣的**
var obj=document.getelementbyid("input1");
if(isnan(obj.value))
在別人機器上執行沒問題,但是一到我機器輸入中文就會奔潰,最後發現他用的是google輸入法,我是搜狗的(qq輸入法也會崩潰),但是將onproperychange換成onblur方法又不會有問題,不知道具體原因,以下是另一種解決辦法,引用自黑色頭髮:留作參考
只能輸入數字和1個小數點,不能輸入數字和小數點外的其他任何字元包括空格
onpropertychange="if(isnan(value)) value=value.substring(0,value.length-1);" //只能輸入數字和小數點
style="ime-mode:disabled; " //遮蔽輸入法,不允許輸入漢字
οnpaste="return false" //不允許貼上
οnkeypress="return event.keycode!=32" //不允許輸入空格
注意:很容易犯以下的錯誤
function isnumber()
}
這種方法實際是不對的,因為parsefloat()方法僅僅在字串的第乙個字元不能被轉換為數字才會返回 nan,如果是12sss,則返回12,所以不能通過先轉化再判斷nan,倒是應該再轉換之前判斷是否nan 發現輸入法有bug
發現輸入法有bug,因為.net中的 自動完成 使用的是ctrl space,所以就把輸入法的切換中應用ctrl space的一項改成了其他按鍵,最近經常出現 不能切換中英文輸入法 的問題,想切換為中文輸入法只能登出一下才行啊,而且右鍵點選輸入法圖示想要設定輸入法時,又經常彈出不同的選單,有時是 屬...
輸入法控制
unit u ime inte ce implementation uses windows,forms,imm,sysutils,messages varstmpclassname,stmpime string 失去焦點時的控制項名稱和輸入法名稱 msghandle hhook 0 判斷當前類名是...
輸入法鉤子
分為1個dll工程和1個win32空工程。新建乙個dll空工程,字符集使用多位元組字符集。以下是源 shurufa.h ifndef shurufa h define shurufa h include include include include pragma comment lib,imm32...