nick轩

导航

js触发onchange事件的方法--看不懂,先放着

js中onchange事件是在客户端改变输入控件的值,比如一个textbox,会出发的一个事件。但是如果在js代码中改变一个textbox的value,而不是通过键盘输入改变一个textbox值的话,是不会出发onchange事件的。

那么,如何在js代码模式通过代码触发textbox控件的onchange事件呢,经过查阅资料,发现js提供了一个方法,可以触发控件的应该是所有事件。object.fireEvent()方法,使用方法如 object.fireEvent('onchange'),即可触发控件的onchange事件。

同理,js中使用fireEvent方法还可以触发其他的空间事件。

  • 补充一下,上述的fireEvent方法,在firefox浏览器并不支持,那么,如果想在ie和ff都可以运行的话,可是尝试下面的代码。
    if (obj.fireEvent)
    {
    obj.fireEvent('onchange');
    }
    else
    {
    obj.onchange();
    }

    也就是判断一下fireEvent事件是否可用,不可用则直接使用onchange()方法。
  • OnTextChanged事件;当textbox失去焦点时触发,但是当是用js给textbox赋值时(比如点击textbox,触发js事件给textbox赋值),textbox的值虽然改变,但并不会触发OnTextChanged事件。
  • 解决方法:在js事件中给textbox赋值后,加上这一段:this.form1.submit();(form1是form的ID)
  • posted on 2011-06-26 19:01  nick轩  阅读(9892)  评论(0编辑  收藏  举报