- 浏览: 170419 次
- 性别:
- 来自: 天津
文章分类
最新评论
页面输入框经常有只允许输入数字的限制,一般都用onpropertychange事件比较简单,之前写了这样的代码
var obj=document.getElementById("input1"); if(isNaN(obj.value)) { obj.value=""; }
在别人机器上运行没问题,但是一到我机器输入中文就会奔溃,最后发现他用的是google输入法,我是搜狗的(qq输入法也会崩溃),但是将onproperychange换成onblur方法又不会有问题,不知道具体原因,以下是另一种解决办法,引用自黑色头发:http://heisetoufa.iteye.com,留作参考
<input onpropertychange="if(isNaN(value)) value=value.substring(0,value.length-1);" style="ime-mode:disabled; " onpaste="return false" onkeypress="return event.keyCode!=32">
只能输入数字和1个小数点,不能输入数字和小数点外的其他任何字符包括空格
onpropertychange="if(isNaN(value)) value=value.substring(0,value.length-1);" //只能输入数字和小数点
style="ime-mode:disabled; " //屏蔽输入法,不允许输入汉字
onpaste="return false" //不允许粘贴
onkeypress="return event.keyCode!=32" //不允许输入空格
注意:很容易犯以下的错误
function isNumber() { var obj=document.getElementById("input1"); var intvalue=parseFloat(obj.value); if(isNaN(intvalue)) { obj.value=""; } }
这种方法实际是不对的,因为parseFloat()方法仅仅在字符串的第一个字符不能被转换为数字才会返回 NaN,如果是12sss,则返回12,所以不能通过先转化再判断NaN,倒是应该再转换之前判断是否NaN
发表评论
-
ajax下载文档 ClientAbortException: java.net.SocketException: Connection reset by pee
2013-08-28 13:58 2298众所周知ajax是使用了浏览器内部的XmlHttpRequ ... -
在js里引用另一个js文件
2013-08-28 10:58 826new_element=document.createE ... -
<转> js替换字符正则表达式
2013-08-16 14:28 808function replace() { var str ... -
<转> JQuery选择器
2013-08-16 10:24 858<html> <head> &l ... -
jQuery获取Select选择的Text和 Value(转)
2013-08-13 09:47 584jQuery获取Select选择的Text和Valu ... -
<转>javascript获取地址栏参数
2013-08-12 10:03 705function GetQueryString(name){v ... -
iframe子页面内刷新同页面中另一个iframe
2013-08-09 15:25 10560框架页面如下: <div id="a ... -
jquery动态修改链接的onclick方法
2013-08-07 11:29 2328用jquery动态修改链接的onclick方法的传递参数,在 ... -
《转》JS怎么刷新当前页面
2013-04-15 13:17 846reload 方法,该方法强迫 ... -
<转>iframe去掉横向滚动条
2012-05-15 14:45 1242如题,就是在网页中, ... -
ie onmouseup和onclick事件执行顺序
2012-05-14 17:21 1163今天项目要做个类似网 ... -
iframe同步刷新时好时坏问题
2012-04-19 17:04 1241页面由左右两个iframe组成,要求右面内容更新时(内容跟左面 ... -
js浮动效果
2012-02-14 17:29 1017项目中某页面需要固定某个div内容,实际需求是这样的,有个评分 ... -
js判断页面关闭 仅支持IE6
2012-02-08 16:38 1657关闭页面时同时执行onbeforeunload和onunloa ... -
<转>name和function名字不能相同
2012-01-05 16:40 0今天突然碰到form表单的名字与js方法的名字相同导致找不到j ... -
onmousedown、onmouseup和onclick的奇怪问题
2011-07-08 10:04 2255将setTimeout的时间设置为0,告诉浏览器当它为当前任何 ... -
超链接<a>中属性href与target相冲突的地方
2011-03-25 11:47 1922今天在项目中写了两行代码,出现不同的效果: ①<a h ... -
<转>键盘回车事件导致页面刷新的问题
2011-03-24 11:18 875我最近在做一个 Ajax 查询的功能,代码如下: ... -
使用prototype的有用小方法
2010-09-13 15:33 940今天刚刚接触js中对象 ... -
JS 字符串连接性能
2010-09-12 17:18 2167在W3SCHOOL中有讨论js字符串连接方法性能对比的篇章如下 ...
相关推荐
在JavaScript中,`onchange`、`onpropertychange` 和 `oninput` 是与用户交互相关的事件,它们各自有特定的触发条件,特别是在处理表单元素的键盘输入和JavaScript动态赋值时。以下是对这三个事件的详细解释: 1. `...
总结来说,处理中文输入法不触发`onkeyup`事件的问题,我们可以利用`oninput`和`onpropertychange`这两个事件,通过条件判断实现跨浏览器的兼容性。这种方法能够确保在用户使用中文输入法时也能正确地监控文本框的...
在ie下用onpropertychange事件,在其他浏览器里用input事件. 2.用例:对每个浏览器分别测试如下的情况: –输入英文字母时–开启输入法时–大小写不同时–输入运算符时–按下tab键时–输入法中按下空格时–按下控制键时...
与键盘事件监听不同,`onpropertychange`事件会在元素的属性发生变化时被触发,包括内容的更改。这意味着无论用户是通过键盘输入还是通过粘贴文本,只要文本区域的值发生变化,该事件就会被触发。这种方法可以更全面...
最常用的事件之一,当用户单击页面上的某个元素时触发,可用于执行任何与用户交互相关的操作,如跳转链接或显示菜单。 #### 11. `oncontextmenu` 在用户右键点击元素时触发,可用于自定义上下文菜单或阻止默认菜单...
`<input style="ime-mode:disabled">`可以关闭输入法,而`<noscript>`标签内的内容则在用户禁用JavaScript时不会显示,通常用于防止页面内容被另存为。 获取上一页来源可以通过`document.referrer`,这可以用来追踪...
而对于IE浏览器,需要使用`onpropertychange`事件。这两个事件在发生条件上是文本框值发生改变时触发。 2. 字数计算:计算字数需要区分中文字和非中文字(包括英文字符、数字和符号)。在中文输入法下,一个汉字...
<input type="checkbox" name="checkA" onpropertychange="for(i=0; i; i++) { A.children[i].checked = this.checked }"> a ``` 当主复选框被勾选时,所有子复选框也会被选中。这是通过遍历子元素并...