在写表单处理的时候,经常会用到onSubmit事件,而onSubmit事件经常用到return关键字,比如:

<!DOCTYPE html>
<html>
<head><title>onsubmit用户提交,submit属性,事件</title>
</head>
<script type="text/javascript">function test(){var s1 =document.mianform.user.value;var s2 = document.mianform.pwd.value ;if(s1 == ""||s2 ==""){alert('请将内容填写完整');return false ;//false不提交}return true ; // true提交}
</script>
<body><form name="mianform" onsubmit="return test()"><label>姓名:</label><input type="text" name="user" onfocus="console.log('点击这里输入用户名');" onblur="console.log('文本失去焦点');"><br><label>密码:</label><input type="password" name="pwd" ><br><input type="submit" value="提交" ></form>
</body>
</html>

这样处理的作用是当点击submit时,调用test函数,通过test函数对表单进行初步的判断处理,然后返回true或者false。当返回true时,onSubmit事件就为
onSubmit=“return true”

这时进行下一步。
若receive处理之后返回false,则onSubmit事件就为

onSubmit="return false"

这时返回一个false,系统将不会继续运行。
这里return的作用就是对test函数运行返回的结果,再向上返回,以便能在发现错误时即使停止后面继续将错误的数据拿去运行。

如果不加return的话,那么onSubmit在逻辑上就可以看成

onSubmit="false"

或者

onSubmit="true"

这样也只能算是把false或者true字符串赋值给onSubmit。并不具有一定的功能,即不论表单中是否出现错误,都会继续运行下去。当然,表单中的错误处理也可以通过服务器端进行处理,但是能在前端处理的,就尽量在前端处理,不然会加大服务器的压力。
很多表单处理函数,比如上面说的test函数,里面也许不会有return true的语句(但是绝对有return false的语句),因为当一个函数顺利运行完成之后,系统将默认的返回一个true,所以true是可选的,但是false却是必须的。

下面来看一下test函数的大致写法:

    function test(){var formLength = document.forms['form1'].elements.length;for(var i = 0; i < formLength - 1; i++){if(document.forms['form1'].elements[i].value.length == 0){alert("第" + (i + 1) + "个文本没有输入");return false;}}
}

js中onsubmit用法相关推荐

  1. js中prototype用法(转)

    JavaScript能够实现的面向对象的特征有: ·公有属性(public field) ·公有方法(public Method) ·私有属性(private field) ·私有方法(private ...

  2. js中every用法_JS中every()和some()的用法

    every()与some()方法都是JS中数组的迭代方法. every()是对数组中每一项运行给定函数,如果该函数对每一项返回true,则返回true. some()是对数组中每一项运行给定函数,如果 ...

  3. Js中Promise用法

    promise是用来解决Js中的异步问题的.基本结构如下: function a() {return new Promise((resolve, reject) => {//dosomethin ...

  4. js中typeof用法详细介绍

    本文章来介绍在js使用中的一个函数typeof用法, typeof 运算符把类型信息当作字符串返回,包括有大家常有变量类型. typeof 运算符把类型信息当作字符串返回.typeof 返回值有六种可 ...

  5. js中 slice 用法用法全解析

    slice 工作原理 在深入研究一些更高级的用法之前,让我们看一下 slice 方法的基础知识.如MDN文档, slice 是数组上的一个方法,它最多有两个参数: arr.slice([begin[, ...

  6. js中every用法_every方法

    确定数组的所有成员是否满足指定的测试. ## 语法 ~~~ array1.every(callbackfn[, thisArg]) ~~~ ## 参数 |参数|定义| |--|--| |array1| ...

  7. js中every用法_every方法怎么使用

    JavaScript中的every()方法检查数组中的所有元素并执行函数,如果函数在任何数组循环中返回false并且不检查剩余元素,则此循环退出.数组没有值,every()方法不会执行.它也不会改变原 ...

  8. js中setAttribute用法详解

    jssetAttribute基本用法 element.setAttribute(attributename,attributevalue) setAttribute() 方法添加指定的属性,并为其赋指 ...

  9. js中!!的用法(双感叹号)

    在javascript代码中经常会见到!!的情况,本文即以实例形式较为深入的分析javascript中2个感叹号的用法.分享给大家供大家参考之用.具体分析如下: javascript中的!!是逻辑&q ...

最新文章

  1. POJ - 1330 Nearest Common Ancestors tanjan_LCA
  2. git文件生命周期以及如何管理文件
  3. 01 决策树 - 数学理论概述 - 熵
  4. 要继续使用 App Engine 标准应用,您必须在 2021 年 1 月 31 日之前添加付款信息。
  5. Lvs+keepalived   实现负载均衡、故障剔除(DR模式)
  6. CS这么难申,小哥哥你怎么拿到全美最高额度奖学金的?
  7. .NET平台PE结构分析之Metadata(一)
  8. 阅读后这篇文章后,python正则表达式完全弄懂了
  9. 若依集成ueditor富文本编辑器
  10. java进账和转账需要锁吗,Spring与Java中的锁
  11. 1.2 几个经典博弈模型(囚徒的困境、赌胜博弈、产量决策的古诺模型)
  12. CodeMeter 软件加密技术
  13. 蓝牙计算机操作与设置在哪里,win7电脑蓝牙在哪里打开_win7笔记本怎么开蓝牙
  14. 计算机主板电感有正负极么,功率电感有没有方向?正负极区分
  15. 【呕心总结!】Ubuntu安装Basilisk流体仿真软件
  16. Pandas 01- Series
  17. 从今起,我蹲马步,苦练基本功
  18. 分布式框架-设置jenkins自动化构建重启项目
  19. 编译原理——语法制导翻译并产生中间代码(布尔表达式和控制语句)
  20. python只会基础能做什么?---你可以做一个文字游戏!

热门文章

  1. 武汉大学计算机学院附近澡堂,武汉大学附近美食攻略
  2. MySQL语句—DDL语句
  3. 操作:FTP服务器的搭建
  4. Unicode汉字内码表1
  5. 2202年了,“小样本”还值得卷吗?
  6. java String工具类/字符串工具类 StringUtil
  7. 什么是时钟周期?什么是机器周期?什么是指令周期?
  8. 完全背包与01背包的区别
  9. IOS Dev Intro - Frameworks
  10. 怎么更改计算机开机用户名和密码,小编详解怎么修改电脑开机密码