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。