<html><body> 
<input type="text" name="username" onchange="a(this)" /> 
<script>function a(i){alert(1)}</script> 
</body></html> 在input中输入时, 
浏览器有历史输入内容的提示(或用到了关键词联想), 
如果选择下拉的某一项,input的内容变了,但是收不到onchange。

解决方案 »

  1.   

    在w3c标准里面 input text 没有onchange事件 
      

  2.   

    我错了,是要离开该焦点之后才能触发。 一般都用keydown 之类来做的。
      

  3.   

    一般要指定value值
    onchang 就是内容变化时触发
      

  4.   

    不起作用,不知道为什么。<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>
      

  5.   

    我试了试 ,onchange事件在你值改变并且焦点离开后才触发
      

  6.   


    window.onload = function(){
            var oInput = document.getElementById('d2');
    oInput.onpropertychange = oInput.oninput = function(){
    alert('aaa');
    };
    };<input type="text" id="d2" value="bbb" />这么写IE跟FF都支持~··
      

  7.   

    input 里可以用onchange,lz那样传到js的应该是个对象,如果你要alert text中的值应该写alert(i.value)