有时我们需要在表单真正提交之前,做一些检查工作,检查通过之后再进行提交。
<form name="myForm" onsubmit = "validateMyForm(event);">
<script type="text/javacript">
function validateMyForm(event)
{
event.preventDefault();
if (条件) {
alert("验证失败!");
return false;
}
return true;
}
</script>
直接 return false 和 preventDefualt() 的区别在于,return false 其实做了三件事:
- 调用 event.preventDefualt() 停止浏览器的默认行为(表单提交),
- 调用 event.stopPropagation() 阻止事件继续传播,
- 立即停止脚本执行,立即返回。
在大多数我们使用 return false 的地方,其实只需要 preventDefualt()。