IHTMLFormElement::put_onsubmit后
Invoke中的DISPID值为什么??
DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT
msdn上说的在mshtmdid.h文件里,这个文件里根本没这个定义啊
help!!

解决方案 »

  1.   

    DISPID
    是一个系统生成的序列
      

  2.   

    使用put_onxxx或者attachEvent("onxxx",...)来设置事件回调时,回调IDispatch的Invoke方法的所有参数都是无用的,DISPID等于0,也不带其它参数,也不能返回结果,必须通过访问IHTMLWindow2::get_event获得IHTMLEventObj,然后从这个对象中获得事件的上下文(包括发生事件的元素)。像DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT这种DISPID只有在使用连接点连接到form对象时才会生效,当然这种方式下FORM元素所有事件都能捕获到,不限于onsubmit事件。