js中onsubmit用法
在写表单处理的时候,经常会用到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用法相关推荐
- js中prototype用法(转)
JavaScript能够实现的面向对象的特征有: ·公有属性(public field) ·公有方法(public Method) ·私有属性(private field) ·私有方法(private ...
- js中every用法_JS中every()和some()的用法
every()与some()方法都是JS中数组的迭代方法. every()是对数组中每一项运行给定函数,如果该函数对每一项返回true,则返回true. some()是对数组中每一项运行给定函数,如果 ...
- Js中Promise用法
promise是用来解决Js中的异步问题的.基本结构如下: function a() {return new Promise((resolve, reject) => {//dosomethin ...
- js中typeof用法详细介绍
本文章来介绍在js使用中的一个函数typeof用法, typeof 运算符把类型信息当作字符串返回,包括有大家常有变量类型. typeof 运算符把类型信息当作字符串返回.typeof 返回值有六种可 ...
- js中 slice 用法用法全解析
slice 工作原理 在深入研究一些更高级的用法之前,让我们看一下 slice 方法的基础知识.如MDN文档, slice 是数组上的一个方法,它最多有两个参数: arr.slice([begin[, ...
- js中every用法_every方法
确定数组的所有成员是否满足指定的测试. ## 语法 ~~~ array1.every(callbackfn[, thisArg]) ~~~ ## 参数 |参数|定义| |--|--| |array1| ...
- js中every用法_every方法怎么使用
JavaScript中的every()方法检查数组中的所有元素并执行函数,如果函数在任何数组循环中返回false并且不检查剩余元素,则此循环退出.数组没有值,every()方法不会执行.它也不会改变原 ...
- js中setAttribute用法详解
jssetAttribute基本用法 element.setAttribute(attributename,attributevalue) setAttribute() 方法添加指定的属性,并为其赋指 ...
- js中!!的用法(双感叹号)
在javascript代码中经常会见到!!的情况,本文即以实例形式较为深入的分析javascript中2个感叹号的用法.分享给大家供大家参考之用.具体分析如下: javascript中的!!是逻辑&q ...
最新文章
- POJ - 1330 Nearest Common Ancestors tanjan_LCA
- git文件生命周期以及如何管理文件
- 01 决策树 - 数学理论概述 - 熵
- 要继续使用 App Engine 标准应用,您必须在 2021 年 1 月 31 日之前添加付款信息。
- Lvs+keepalived 实现负载均衡、故障剔除(DR模式)
- CS这么难申,小哥哥你怎么拿到全美最高额度奖学金的?
- .NET平台PE结构分析之Metadata(一)
- 阅读后这篇文章后,python正则表达式完全弄懂了
- 若依集成ueditor富文本编辑器
- java进账和转账需要锁吗,Spring与Java中的锁
- 1.2 几个经典博弈模型(囚徒的困境、赌胜博弈、产量决策的古诺模型)
- CodeMeter 软件加密技术
- 蓝牙计算机操作与设置在哪里,win7电脑蓝牙在哪里打开_win7笔记本怎么开蓝牙
- 计算机主板电感有正负极么,功率电感有没有方向?正负极区分
- 【呕心总结!】Ubuntu安装Basilisk流体仿真软件
- Pandas 01- Series
- 从今起,我蹲马步,苦练基本功
- 分布式框架-设置jenkins自动化构建重启项目
- 编译原理——语法制导翻译并产生中间代码(布尔表达式和控制语句)
- python只会基础能做什么?---你可以做一个文字游戏!