button submit你以为你阻止了默认事件?

前言

先解决掉一个误区:
很多人写button的时候,就这样写:

<button><botton>

你认为就是默认的submit的时候,这时候就可能出问题了。
当然之所以你没有遇到这个问题,一般可能性是因为你使用了框架。
在Internet Explorer中默认就是botton,其他的浏览器是submit。

正文

在submit的时候你可能会遇到如检查一些事情,比如说是否一些数值符合你的预期。
我们可能会这样:

<form>
<input type="text" value="">
<button type="submit" onclick="return validate();"  >
 提交
</button>  
</form>
<script>
function validate(e)
{
  return false;
}
</script>

这样是可以阻止默认事件的。
但是我们可能忽略了一个问题,那就是万一我们中间出错了怎么办?

<form>
<input type="text" value="">
<button type="submit" onclick="return validate();"  >
 提交
</button>  
</form>
<script>
function validate(e)
{
dasdsad
  return false;
}
</script>

这时候已经会提交,所以一般如果这样写的话,会加一个try catch。

posted @ 2020-03-10 09:22  敖毛毛  阅读(888)  评论(0编辑  收藏  举报