onsubmit不执行,怎么回事?onmousedown的坑?

四大皆空相 2019-09-04 06:45:54
<!DOCTYPE html> 
<html> <head> <title>Check</title>
<script>
window.onload = function() {
document.onmousedown = myfunc_mouse; //注释掉这一行,就正常了。
document.forms[0].onsubmit = testSubmit; //testSubmit为什么不执行? 可是,如果将上一行注释掉就可以,怎么回事?
}
function myfunc_mouse(){document.forms[0].submit(); return true;}
function testSubmit(){ alert("clicked submit");}
</script>
</head>
<body>
<form action="game.html"> <input type="submit" value="Submit"> <input type="reset"> </form>
</body>
</html>


很简单的一个测试,里面JavaScript开始时,注册了两个事件:onmousedown, onsubmit。

但onsubmit的响应函数,testSubmit()始终不响应。 如果注释掉onmousedown事件注册这一行,就正常了。这是怎么回事呢?
...全文
94 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
四大皆空相 2019-09-04
  • 打赏
  • 举报
回复
引用 4 楼 天际的海浪 的回复:
因为用form的submit()方法提交表单时不会触发 onsubmit 事件。 可以改用提交按钮的click()方法提交表单才会触发 onsubmit 事件。 function myfunc_mouse(){ document.querySelector("input[type=submit]").click(); return true; }
谢谢。如上试了一下,不用submit(),而用click(),ok了。 再次感谢!
天际的海浪 2019-09-04
  • 打赏
  • 举报
回复
因为用form的submit()方法提交表单时不会触发 onsubmit 事件。 可以改用提交按钮的click()方法提交表单才会触发 onsubmit 事件。 function myfunc_mouse(){ document.querySelector("input[type=submit]").click(); return true; }
四大皆空相 2019-09-04
  • 打赏
  • 举报
回复
csdn很多年不用了,编辑不了自己的帖子了。 to:三岁打酱油 我的理解,提交表单,应该是先执行onsubmit响应函数,如果函数返回true,页面才会刷新。
四大皆空相 2019-09-04
  • 打赏
  • 举报
回复
<!DOCTYPE html> 
<html> <head>  <title>Check</title> 
 <script>
	 window.onload = function() { 
	 document.onmousedown = myfunc_mouse; //注释掉这一行,就正常了。
	 document.forms[0].onsubmit = testSubmit; //testSubmit为什么不执行? 可是,如果将上一行注释掉就可以,怎么回事?
	} 
      function myfunc_mouse(){ document.forms[0].submit();  return true; }
      function testSubmit() {	alert("clicked submit"); }
 </script> 
</head> 
<body> 
	<form action="game.html"> <input type="submit" value="Submit"> <input type="reset"> </form> 
</body> 
</html>
很简单的一个测试,里面JavaScript开始时,注册了两个事件:onmousedown, onsubmit。 当我鼠标随意点击时,触发submit,进行表单提交。 而在submit时,我又加上了响应submit的事件。但意外的是, submit的响应事件(弹个框测试),没有响应。 onsubmit的响应函数,testSubmit()始终是不响应。 如果注释掉onmousedown事件注册这一行,就正常了。这是怎么回事呢?
jio可 2019-09-04
  • 打赏
  • 举报
回复
myfunc_mouse这个函数会提交表单页面会刷新肯定不会执行下面的函数了

87,909

社区成员

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

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