防止表单提交时刷新页面-阻止form表单的默认提交行为

时间:2023-11-24 19:57:20

最近在写 ajax 提交的时候遇到一个问题,在执行 ajax 提交之后,浏览器页面自动刷新了,主要是没有 由于form 表单的默认提交行为。一下是几种阻止 form 表单默认提交行为的方式。

1.使用button 按钮提交表单的时候,要设置type="button" button在浏览器中默认的类型为submit;

2.使用input 代替button ,设置type="button"

3.event.preventDefault(); 在提交事件绑定的方法的最后 使用event.preventDefault();方法;

4.用onclick点击事件来return false

讲一下表单提交按钮onclick事件:

onclick="return true" ;默认的表单提交事件
onclick="return false";阻止表单提交事件

只需要在onlick 绑定的方法func最后添加return false; 标签中的onclick 属性要写成 onclick="return func();" 一定要加return;

5.利用表单的onsubmit事件
注意:onsubmit事件的作用对象为<form>,所以把onsubmit事件加在提交按钮身上是没有效果的。
form对象的onsubmit事件类似onclick,都是先处理调用的函数,再进行表单是否跳转布尔值的判断
onsubmit="return true" 为默认的表单提交事件
onsubmit="return false"为阻止表单提交事件

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
function func(){
return false;
}
</script>
</head>
<body>
<form action="" onsubmit="return func()">
<input type="submit" value="button" />
</form>
</body>
</html>