JS表单提交中onsubmit事件return的作用

完整代码如下:

1.html

js 复制代码
 <!DOCTYPE html>
 <html>
 <head>
 <title>JS表单提交中onsubmit事件return的作用</title>
 </head>
 <body>
 <form method="post" action="2.html" onsubmit="return Checkname()">
     <input id="name" type="text" placeholder="请输入你的名字">
     <button>提交</button>
</form>
</body>
</html>

<script type="text/javascript">
    function Checkname() {
        var name=document.getElementById('name').value;
        if (!name) {
            alert('名字为空');
            return false;
        }else{
            return true;
        }
    }
</script>

2.html

js 复制代码
<!DOCTYPE html>
<html>
<head>
<title>JS表单提交中onsubmit事件return的作用</title>
</head>
<body>
    恭喜表单提交成功
</body>
</html>

代码运行效果图如下:

1.不填写名字

2.填写名字

代码分析:

当点击提交按钮(button按钮)的时候,浏览器会自动触发onsubmit事件,执行Checkname()函数。Checkname()函数通过判断名字是否存在,来返回true或者false。

当Checkname()返回false的时候,onsubmit事件可以看成为:

js 复制代码
onsubmit="return false"

当Checkname()返回true的时候,onsubmit事件可以看成为:

js 复制代码
onsubmit="return true"

重点:

此时onsubmit中return的作用就是将Checkname()函数运行返回的结果(true或者false),再向上返回(返回给浏览器)。浏览器如果接收到onsubmit返回的是false,则阻止表单提交。反之,如果接收到的是true,表单就会提交到action属性指向的2.html页面。

相关推荐
kyriewen几秒前
我排查了一个React内存泄漏——罪魁祸首是这3个被忽略的清理函数
前端·javascript·面试
其美杰布-富贵-李34 分钟前
03 ref、reactive 与 computed 响应式数据
前端·javascript·vue.js
用户9385156350738 分钟前
useRef + Web Worker 实战:React 如何优雅地拥抱多线程
前端·javascript·react.js
嘟嘟07171 小时前
useRef + Web Worker:React 中的耗时计算不卡页面
javascript·vue.js
mONESY1 小时前
React Router v7 完全实战指南:从入门到鉴权,一套代码全搞定
javascript
To_OC1 小时前
LC 74 搜索二维矩阵:换皮的二分查找,我居然一开始没看出来
javascript·算法·leetcode
kango1 小时前
iOS 项目工程化构成与 Xcode 架构详解
ios·程序员
文心快码BaiduComate1 小时前
文心快码荣获“中国优秀软件产品”,实力再获国家级认可
算法·代码规范
橘子星1 小时前
一篇文章搞懂 useRef:聚焦 DOM、模拟 forceRender、管理 Worker 都靠它
前端·javascript
前端Hardy1 小时前
Vue 终于杀进终端界!这个开源项目让 CLI 开发像写网页一样简单
前端·javascript·后端