问一个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事件
为什么呢?谢谢
...全文
267 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
不知道为什么

但知道是事实

87,907

社区成员

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

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