问一个submit提交触发onsubmit事件的奇怪问题!

huijunzi 2004-09-07 11:06:31
我用如下如句给myForm动态绑定onsubmit方法
myForm.attachEvent ('onsubmit',onFormSubmit);
function onFormSubmit () {
alert("ok");
}
然后在myForm中用两种方式提交
<INPUT TYPE="submit" value="submit"> //这种方式能触发onFormSubmit事件
<input type="button" value="test" onclick="document.myForm.submit();"> //这种方式不能触发onFormSubmit事件
为什么呢?谢谢
...全文
243 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
mikespook 2004-09-08
回复人: BubbleInDiamond(以下想法纯属虚构) ( ) 信誉:100 2004-9-7 11:40:28 得分: 10



不同意 mikespook(懒猫开始新生活) 观点,这只是说明submit()方法并不会触发onSubmit事件

在ie和nn的早期版本中,click()方法也是不能触发onclick事件的,但是现在可以了

onsubmit事件并不只是能在submit按钮时触发,在text中按enter也是可以的(你不要加submit按钮试试)
---------------------------------------
呵呵,你说的和我说的有什么区别么?Submit当然不会触发onSubmit,这本来就是两个事件,只不过在触发上有顺序而已~~~~
  • 打赏
  • 举报
回复
华之瓯越 2004-09-07
this.submit();
  • 打赏
  • 举报
回复
suimengfei 2004-09-07
onFormSubmit,只能用于按钮是Submit的情况。如果你设置成button,
则不能触发onFormSubmit方法!
  • 打赏
  • 举报
回复
BubbleInDiamond 2004-09-07
不同意 mikespook(懒猫开始新生活) 观点,这只是说明submit()方法并不会触发onSubmit事件

在ie和nn的早期版本中,click()方法也是不能触发onclick事件的,但是现在可以了

onsubmit事件并不只是能在submit按钮时触发,在text中按enter也是可以的(你不要加submit按钮试试)
  • 打赏
  • 举报
回复
GageCSDN 2004-09-07
确实是不可以,所以在直接调用Form的submit()方法时要注意先调用一下它的onsubmit()方法:
<input type="button" value="test" onclick="if(document.myForm.onsubmit()!=false)document.myForm.submit();">
  • 打赏
  • 举报
回复
LxcJie 2004-09-07
onsubmit事件只能是点击submit按钮时触发,调用submit()方法不能触发此方法
  • 打赏
  • 举报
回复
mikespook 2004-09-07
因为onSubmit事件是在Submit事件之前发生,所以你可以通过onSubmit事件阻止submit发生~~
比如返回false。但是<input type="button" value="test" onclick="document.myForm.submit();"> 实际上已经触发了Submit~~~
  • 打赏
  • 举报
回复
cpio 2004-09-07
不知道为什么

但知道是事实
  • 打赏
  • 举报
回复
发帖
JavaScript
加入

8.6w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
申请成为版主
帖子事件
创建了帖子
2004-09-07 11:06
社区公告
暂无公告