最近工作中遇到这样的问题,在text框中输入内容直接提交表单,并不触发onchange()事件。网上搜了一下原来text的onchange事件只有在text失去焦点的时候才被触发。
解决方法:
1.onpropertychange事件 只适用于IE,可以实现真正意义上的“change”事件。
2.主动触发change事件 object.fireEvent('onchange')。
对于非IE浏览器,可以用oninput,但是oninput必须用addEventListener的方式来绑定事件否则无效。
以下代码为转载:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>on用onpropertychange,oninput事件解决onchange事件的不足 by koyoz.com</title>
<mce:style type="text/css"><!--
*{font-size:14px;font-family:'Comic Sans MS', Verdana}
body {margin-left:20px}
--></mce:style><style type="text/css" mce_bogus="1">
*{font-size:14px;font-family:'Comic Sans MS', Verdana}
body {margin-left:20px} </style>
</head>
<body>
<p>使用onchange事件: </p>
<input type="text" id="txt1" />
<p>使用onpropertychange/oninput事件: </p>
<input type="text" id="txt2" />
<p>结果:</p>
<input type="text" id="txt" />
<mce:script type="text/javascript"><!--
var $ = function(o) {
return document.getElementById(o)
};
$('txt1').onchange = function() {
$('txt').value = this.value;
}
$('txt2').onpropertychange = function() {
$('txt').value = this.value;
}
if (window.addEventListener) {
$('txt2').addEventListener('input', function() {$('txt').value = this.value}, false);
}
// --></mce:script>
</body>
</html>
转载地址:http://blog.csdn.net/lajianguo/archive/2009/09/02/4513405.aspx
分享到:
相关推荐
安装该模块后,对于有写onchange方法的字段,可以设置定时执行时间间隔。
web前端小问题,select 选择事件,当选择select同一值触发onchange事件
这是我自己总结出来easyui-textbox和easyui-combobox的onchange事件响应实例,绝对可用,网上很多实例都无法运行,这个我亲自测试可用使用才传上来的,供大家参考学习。
改变一下思路变成键盘按键事件,如下: ”txtName” runat=”server” xss=removed></asp> 这里有一点毛病是,你复制粘贴的内容,无法触发这个事件。下面是相关的一些代码: 代码如下: function fNameChange(){ if($...
ckeditor onchange 事件插件
js中onchange事件是在客户端改变输入控件的值,比如一个textbox,会出发的一个事件。但是如果在js代码中改变一个textbox的value,而不是通过键盘输入改变一个textbox值的话,是不会出发onchange事件的。 那么,如何...
使用Delphi的OnChange事件,Timagelist组件..rar
jsp中select的onchange事件用法实例.docx
select 或text的onchange事件需要手动(通过键盘输入)改变select或text的值才能触发,本文为大家介绍下使用js触发select onchange事件
主要介绍了jsp中select的onchange事件用法,以实例形式较为详细的分析了JSP数据库查询、遍历及结合JavaScript响应鼠标事件处理select相关技巧,需要的朋友可以参考下
捕捉 text 文本输入框的 onChange捕捉 text 文本输入框的 onChange
文档中详细描述了easy-ui如何添加onchange,以及如何获取组合框当前选中值。压缩包中还包括了相关的easy-ui demo供大家使用。自己总结的跟大家分享下。
select 或text的onchange事件需要手动改变select或text的值才能触发,下面有个不错的方法可以通过js触发select onchange事件
在IE下,可以用onpropertychange来代替onchange事件,当文本框有任何变化时,能立即触发此事件. 这样一来问题就解决了. 那其他浏览器呢,onpropertychange可是IE的专利. 接下来就是oninput事件了. 但是oninput有个诡异,...
主要介绍了JavaScript获取onclick、onchange等事件的值的方法,需要的朋友可以参考下
最近在使用layui框架做城市的三级级联的时候,发现jquery中的onchange事件方法在layui框架中失效了。 然后浏览layui社区,了解到layui监控一个控件变化有自己的方法。 html <select lay-filter=test></...
radio 单选JS动态添加的选项,onchange事件无效。使用delegate()函数可以解决该问题,具体解决方案大家通过本文详细了解下