一个js,onchange不能触发的问题

lxd100 2009-09-16 09:19:42
<html><body>
<input type="text" name="username" onchange="a(this)" />
<script>function a(i){alert(1)}</script>
</body></html>

在input中输入时,
浏览器有历史输入内容的提示(或用到了关键词联想),
如果选择下拉的某一项,input的内容变了,但是收不到onchange。
...全文
420 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
MuBeiBei 2009-09-16
  • 打赏
  • 举报
回复

window.onload = function(){
var oInput = document.getElementById('d2');
oInput.onpropertychange = oInput.oninput = function(){
alert('aaa');
};
};

<input type="text" id="d2" value="bbb" />

这么写IE跟FF都支持~··
xiaofan_sap 2009-09-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 lxd100 的回复:]
<html> <body>
<input type="text" name="username" onchange="a(this)" />
<script>function a(i){alert(1)} </script>
</body> </html>

在input中输入时,
浏览器有历史输入内容的提示(或用到了关键词联想),
如果选择下拉的某一项,input的内容变了,但是收不到onchange。
[/Quote]
我试了试 ,onchange事件在你值改变并且焦点离开后才触发
lxd100 2009-09-16
  • 打赏
  • 举报
回复
项目是这样的,用了一个关键词联想,在选择了字符后,触发一个事件,将输入的值传给后台处理
lxd100 2009-09-16
  • 打赏
  • 举报
回复
我没做任何动作,只是加载了这个页面,他就自己触发了动作

[Quote=引用 11 楼 cntmi 的回复:]
你把onchange改成onpropertychange
[/Quote]
cntmi 2009-09-16
  • 打赏
  • 举报
回复
你把onchange改成onpropertychange
lxd100 2009-09-16
  • 打赏
  • 举报
回复
不起作用,不知道为什么。

<input type="text" name="merchantName" size="40" maxlength="60"
onkeyup="autoComplete.hdleEvent(event);"
onFocus="autoComplete.expandAllItem();"
value="<%=PageUtil.getPageString((String)request.getAttribute("merchantName"))%>" id="merchantName" class="text"
dataType='Require' msg='* 您还填写商户,请填写'></input>


[Quote=引用 9 楼 sohighthesky 的回复:]
引用 4 楼 junyi2003 的回复:
我错了,是要离开该焦点之后才能触发。 一般都用keydown 之类来做的。

这么清楚
[/Quote]
sohighthesky 2009-09-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 junyi2003 的回复:]
我错了,是要离开该焦点之后才能触发。 一般都用keydown 之类来做的。
[/Quote]
这么清楚
lxd100 2009-09-16
  • 打赏
  • 举报
回复
顶起
lxd100 2009-09-16
  • 打赏
  • 举报
回复
大哥,我是菜鸟,能给个提示不?

[Quote=引用 5 楼 hewansongjuan 的回复:]
一般要指定value值
onchang 就是内容变化时触发

[/Quote]
lxd100 2009-09-16
  • 打赏
  • 举报
回复
没反应啊!

[Quote=引用楼主 lxd100 的回复:]
<html> <body>
<input type="text" name="username" onchange="a(this)" />
<script>function a(i){alert(1)} </script>
</body> </html>

在input中输入时,
浏览器有历史输入内容的提示(或用到了关键词联想),
如果选择下拉的某一项,input的内容变了,但是收不到onchange。
[/Quote]
小河 2009-09-16
  • 打赏
  • 举报
回复
一般要指定value值
onchang 就是内容变化时触发
junyi2003 2009-09-16
  • 打赏
  • 举报
回复
我错了,是要离开该焦点之后才能触发。 一般都用keydown 之类来做的。
lxd100 2009-09-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 junyi2003 的回复:]
在w3c标准里面 input text 没有onchange事件

[/Quote]

那用什么可以代替呢?
junyi2003 2009-09-16
  • 打赏
  • 举报
回复
在w3c标准里面 input text 没有onchange事件
meiwenhui 2009-09-16
  • 打赏
  • 举报
回复
用onkeydown事件试试
Hallelujah_chen 2009-09-16
  • 打赏
  • 举报
回复
input 里可以用onchange,lz那样传到js的应该是个对象,如果你要alert text中的值应该写alert(i.value)
Hallelujah_chen 2009-09-16
  • 打赏
  • 举报
回复
input 里可以用onchange

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧