最近工作中遇到这样的问题,在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: function() { // 这里编写你的回调函数 console.log('Editor content has changed!'); } }); ``` 在上述代码中,`extraPlugins` 配置项用于指定额外需要加载的插件,这里我们添加了 'onchange'。`...
web前端小问题,select 选择事件,当选择select同一值触发onchange事件
<select id="combobox" class="easyui-combobox" data-options="onChange:handleComboboxChange"> <option value="Option1">Option1 <option value="Option2">Option2 <option value="Option3">Option3 ...
js中onchange事件是在客户端改变输入控件的值,比如一个textbox,会出发的一个事件。但是如果在js代码中改变一个textbox的value,而不是通过键盘输入改变一个textbox值的话,是不会出发onchange事件的。 那么,如何...
安装该模块后,对于有写onchange方法的字段,可以设置定时执行时间间隔。
在这个主题中,我们将深入探讨如何使用Timagelist组件以及其onChange事件。 首先,让我们了解Timagelist组件的基本功能。Timagelist不仅能够存储图像,还支持多种图像格式,如BMP、JPEG、PNG等。你可以通过它的`Add...
### JSP中Select的onchange事件用法实例详解 #### 一、引言 在Web开发中,`onchange`事件是一种常用的JavaScript事件,用于在用户更改表单元素(如`<select>`下拉列表)时触发特定的操作。在JSP(JavaServer Pages...
改变一下思路变成键盘按键事件,如下: ”txtName” runat=”server” xss=removed></asp> 这里有一点毛病是,你复制粘贴的内容,无法触发这个事件。下面是相关的一些代码: 代码如下: function fNameChange(){ if($...
onChange: function(newValue, oldValue) { console.log('新值:' + newValue + ', 旧值:' + oldValue); } "> ``` 在上述代码中,`onChange`函数接收两个参数:`newValue`代表当前选中的值,`oldValue`则为之前...
在前端开发中,select元素和text文本输入框元素经常需要处理用户的交互行为,其中onchange事件是一个非常重要的事件。onchange事件会在元素的内容改变并且失去焦点后触发。但在JavaScript中,直接给select或text赋值...
在给定的代码示例中,我们看到了如何利用 JavaScript 来捕捉文本输入框 (`<input type="text">`) 的 `onChange` 事件,并实时更新页面上的某些内容。 #### 一、理解 onChange 事件 `onChange` 是 HTML 表单元素...
本文将详细探讨在JSP中如何使用select的onchange事件,包括数据库查询、数据遍历及与JavaScript的集成。 ### JSP中select的onchange事件用法 首先,我们需要了解什么是onchange事件。在HTML中,onchange是一个事件...
这个问题常常出现在使用JavaScript动态向页面中添加单选按钮(radio)时,为这些动态添加的单选按钮绑定的onchange事件无法正常触发。描述中提到,通过使用delegate()函数可以有效解决此类问题。 在了解如何解决...
例如,如果`onchange`事件中绑定了`test()`函数,我们需要执行这个函数,那么可以这样做: ```javascript function executeEventValue(eventStr) { var funcName = eventStr.slice(10, -1); // 去掉 'javascript:'...
同样,collapse组件的onChange事件应该通过添加@符号来监听,并在事件处理函数中通过event.mp.detail来获取事件详情。 最后,在实际开发中,使用vant-weapp组件库需要特别注意组件的文档说明,以确保按照mpvue框架...
在IE下,可以用onpropertychange来代替onchange事件,当文本框有任何变化时,能立即触发此事件. 这样一来问题就解决了. 那其他浏览器呢,onpropertychange可是IE的专利. 接下来就是oninput事件了. 但是oninput有个诡异,...
在JavaScript中,`onchange`、`onpropertychange` 和 `oninput` 是与用户交互相关的事件,它们各自有特定的触发条件,特别是在处理表单元素的键盘输入和JavaScript动态赋值时。以下是对这三个事件的详细解释: 1. `...
select 或text的onchange事件需要手动(通过键盘输入)改变select或text的值才能触发,如果在js中给select或text赋值,则无法触发onchang事件, 例如,在页面加载完成以后,需要触发一个onChange事件,在js中用...