form表单提交onclick和onsubmit
onsubmit只能表单上使用,提交表单前会触发, onclick是按钮等控件使用, 用来触发点击事件。
在提交表单前,一般都会进行数据验证,可以选择在submit按钮上的onclick中验证,也可以在onsubmit中验证。
但是onclick比onsubmit更早的被触发。
提交过程
1、用户点击按钮 ---->
2、触发onclick事件 ---->
3、onclick返回true或未处理onclick ---->
4、触发onsubmit事件 ---->
5、onsubmit未处理或返回true ------>
6、提交表单.
onsubmit处理函数返回false,onclick函数返回false,都不会引起表单提交。
第一种:onsubmit

<script language="javascript">
function CheckPost ()
{
if (addForm.user.value == "")
{
alert("请填写用户名!");
addForm.username.focus();
return false;
}
if (addForm.title.value.length < 5)
{
alert("标题不能少于5个字符!");
addForm.title.focus();
return false;
}
return true;
}
</script> <form action="test.php" method="post" name="addForm" onsubmit="return CheckPost();">
<div>用户:<input type="text" size="10" name="user" maxlength="20"/></div>
<div>标题:<input type="text" name="title" maxlength="50"/></div>
<div>内容:<textarea name="content" rows="8" cols="30"></textarea></div>
<div>
<input type="submit" name="submit" value="发表留言"/>
</div>
</form>

第二种:onclick

1 <script language="javascript">
2 function SendForm ()
3 {
4 if(CheckPost())
5 {
6 document.addForm.submit();
7 }
8 }
9
10 function CheckPost ()
11 {
12 if (addForm.user.value == "")
13 {
14 alert("请填写用户名!");
15 addForm.username.focus();
16 return false;
17 }
18 if (addForm.title.value.length < 5)
19 {
20 alert("标题不能少于5个字符!");
21 addForm.title.focus();
22 return false;
23 }
24 return true;
25 }
26 </script>
27
28 <form action="test.php" method="post" name="addForm">
29 <div>用户:<input type="text" size="10" name="user" maxlength="20"/></div>
30 <div>标题:<input type="text" name="title" maxlength="50"/></div>
31 <div>内容:<textarea name="content" rows="8" cols="30"></textarea></div>
32 <div><input type="button" name="submit" value="发表留言" onclick="SendForm();"/></div>
33 </form>
form表单提交onclick和onsubmit的更多相关文章
- 2017-01-11小程序form表单提交
		
小程序form表单提交 1.小程序相对于之前的WEB+PHP建站来说,个人理解为只是将web放到了微信端,用小程序固定的格式前前端进行布局.事件触发和数据的输送和读取,服务器端可以用任何后端语言写,但 ...
 - Form表单提交,Ajax请求,$http请求的区别
		
做过前端同学想必都避免不了要和后台server打交道.而以下这三种与后台交互的方式想必大家都不陌生. Form表单提交,Ajax请求,Angular的$http请求 以前一直搞不清楚什么时候应该用哪种 ...
 - javascprit form表单提交前验证以及ajax返回json
		
1.今天要做一个手机验证码验证的功能.需求是前端页面点击发送 短信验证码,后台接收后通过ajax返回到前端,之后前端在提交时候进行验证.思路很简单,不过做的过程还是学到不少的东西. 1.ajax请求后 ...
 - form表单提交方式
		
form表单提交方式总结一下: 一.利用submit按钮实现提交,当点击submit按钮时,触发onclick事件,由JavaScript里函数判断输入内容是否为空,如果为空,返回false, 不提交 ...
 - Form表单提交,js验证
		
Form表单提交,js验证 1, Onclick() 2, Onsubmit() Button标签 input (属性 submit button )标签 Input type=button ...
 - Form表单提交数据的几种方式
		
一.submit提交 在form标签中添加Action(提交的地址)和method(post),且有一个submit按钮(<input type='submit'>)就可以进行数据的提交, ...
 - ajax form表单提交 input file中的文件
		
ajax form表单提交 input file中的文件 现今的主流浏览器由于ajax提交form表单无法把文件类型数据提交到后台,供后台处理,可是开发中由于某些原因又不得不用ajax提交文件, 为了 ...
 - python中前后端通信方法Ajax和ORM映射(form表单提交)
		
后端从数据库获取数据给到前端: 第一种方式: admin.py文件代码: @admin.route('/showList') def show(): # 获取数据库所有文章数据,得到一个个对象 res ...
 - jquery模拟form表单提交并新打开页面
		
/** * form表单提交本页面打开 * @param url * @param params */ function postCurrent(url,params){ var form = $(& ...
 
随机推荐
- pandas聚合aggregate
			
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/5/24 15:03 # @Author : zhang chao # @Fi ...
 - 工作流管库的bpmn部署在数据库中
			
工作流管库的bpmn部署在数据库中 DB_schema_update_false 没有表则创建 有表则报错 DB_SCHEMA_UPDATE_TRUE 没有表则创建 有表则不创建 脚本更新则更新数据 ...
 - BZOJ3835[Poi2014]Supercomputer——斜率优化
			
题目描述 Byteasar has designed a supercomputer of novel architecture. It may comprise of many (identical ...
 - BZOJ1500[NOI2005]维修数列——非旋转treap
			
题目描述 请写一个程序,要求维护一个数列,支持以下 6 种操作: 请注意,格式栏 中的下划线‘ _ ’表示实际输入文件中的空格 输入 输入的第1 行包含两个数N 和M(M ≤20 000),N 表示初 ...
 - HNOI2017单旋
			
单旋 这道题做法贼多,LCT,splay,线段树什么的貌似都行. 像我这种渣渣只会线段树了(高级数据结构学了也不会用). 首先离线所有操作,因为不会有两个点值重复,所以直接离散. 一颗线段树来维护所有 ...
 - 【BZOJ4671】异或图(斯特林反演)
			
[BZOJ4671]异或图(斯特林反演) 题面 BZOJ Description 定义两个结点数相同的图 G1 与图 G2 的异或为一个新的图 G, 其中如果 (u, v) 在 G1 与 G2 中的出 ...
 - HNOI2018滚粗记
			
day 0 最近发现机房的人都有些焦虑(除了一些神犇)自己也被影响地紧张起来 唉,不知道是不是一种好的心态,紧张是必然的... 随便打了点板子(\(FFT,SA,LCT\)) 很棒一个都没考 day ...
 - 自学Zabbix3.12.5-动作Action-Condition配置
			
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 3.12.5 自学Zabbix3.12.5-动作Action-Condition配置 报警,肯定是 ...
 - 【洛谷P5020】货币系统 完全背包
			
题目大意:给定 N 个数,求在这 N 个数中至少选出几个数能表示出所有数字,输出最少的个数. 题解:由于只有小的数字可以表示大的数字,因此首先需要对这 N 个数字进行从小到大排序.排序之后就变成一道不 ...
 - (转)搭建Maven私服(使用Nexus)
			
搭建私服可以做什么? 1.如果公司开发组的开发环境全部内网,这时如何连接到在互联网上的Maven中央仓库呢? 2.如果公司经常开发一些公共的组件,如何共享给各个开发组,使用拷贝方式吗?如果这样,公共库 ...