有两个地方可以可以阻止form submit,一是<form onsubmit="">,而是<form>下的<input type="submit" onclick="">,只要这两个函数有一个是return false;,那么点击这个button并不会submit form。
具体的执行流程是这样的:
if (submitInput.onclick() == false) {
// 不触发 form.onsubmit();
// form 不提交;
} else {
// 触发 form.onsubmit();
if (form.onsubmit() == false) {
// form 不提交
} else {
// 提交 form
}
}
所以在这个两个函数里面可以加一些验证工作,同时,可以根据验证结果来判断是否提交form。
比如有:
var checkForm = function() {
// 获取输入
if (校验失败)
return false;
else
return true;
}
然后把这个函数写到onsubmit或是onclick,也可以针对不同的button写不同的逻辑的校验函数,比如这样:
<html>
<form onsubmit="return checkFormStep2();" method="post" action="/XXX.do">
<input type="text" id="username">
<input type="password" id="password">
<input type="submit" onclick="return checkFormStep1();" value="go" />
</form>
</html>
在点击时先执行checkFormStep1(),在form提交前再执行checkFormStep2(),两个都通过都return true了才提交
也可以针对“撤销”功能的按钮写一些类似清空输入的功能,再禁止它提交form,比如这样:
<html>
<form method="post" action="/XXX.do">
<input type="text" id="username">
<input type="password" id="password">
<input type="submit" onclick="return checkFormStep();" value="go" />
<input type="submit" onclick="clearInput(); return false;" value="reset" />
</form>
</html>
分享到:
相关推荐
0X2B循环for前置知识0X29再谈循环正文Lua除了while和repeat语句还提供了一种for循环语句.while和repeat语句循环终止条件可以是任
0X0E中学算术前置知识0X0D数学库函数正文有了三角函数、反三角函数、对数函数、求幂运算,中学阶段涉及的所有具体的数值计算基本就都可以求解。求此表达式的值:第
目录图例Stage1 入门Stage2 基础Stage3 字符串处理Stage4 理解函数Stage5 表结构Stage6 流程控制Stage7 模块Stage
1. 度量脚本执行时间 2. 记录时间 3. 计算时间间隔
域的定义如果交换环还额外满足以下条件,则称为域:乘法单位元和加法单位元不相等(1不等于0)。由于存在乘法逆元,就意味着可以进行“除法”,所以有的书上也把域称作
安全运营相关文章本篇整理一些安全运营相关的高质量文章[2] 体系化的WAF安全运营实践, 安全研究与实践,
NULL 博文链接:https://aoyi.iteye.com/blog/659179
NULL 博文链接:https://aoyi.iteye.com/blog/631929
NULL 博文链接:https://aoyi.iteye.com/blog/723571
STM8S207中断系统##pragma 0x原因.pdf,介绍中断的
Win10系统NET3.5安装不了并且出现错误代码0x800f0950的解决方法.docxWin10系统NET3.5安装不了并且出现错误代码0x800f0950的解决方法.docxWin10系统NET3.5安装不了并且出现错误代码0x800f0950的解决方法.docxWin10...
Win10专业版遇到错误代码0x80072746的解决方法.docxWin10专业版遇到错误代码0x80072746的解决方法.docxWin10专业版遇到错误代码0x80072746的解决方法.docxWin10专业版遇到错误代码0x80072746的解决方法.docxWin10...
#0 0x00002b9405ea1c38 in __lll_mutex_lock_wait () from /lib64/libc.so.6 #1 0x00002b9405e45e5f in _L_lock_4026 () from /lib64/libc.so.6 #2 0x00002b9405e42df1 in free () from /lib64/libc.so.6 #3 0x00002...
#define up 0x4800 #define down 0x5000 #define left 0x4b00 #define right 0x4d00 #define esc 0x011b #define enter 0x1c0d #define A 0x1e61 #define S 0x1f73 #define D 0x2064 #define W 0x1177 #define space...
Win10系统NET3.5安装不了并且出现错误代码0x800f0950的解决方法.pdfWin10系统NET3.5安装不了并且出现错误代码0x800f0950的解决方法.pdfWin10系统NET3.5安装不了并且出现错误代码0x800f0950的解决方法.pdfWin10系统...
Struts的java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource异常的解决方法
部分指令下载后有全部:#define PU 0x01 #define STOP 0x02 #define RESET 0x03 #define CLI_INT 0x04 #define RD_STATUS 0x05 #define RD_PLAY_PTR 0x06 #define PD 0x07 #define RD_REC_PTR 0x08 #define RD_DEVID...
Win10系统使用商店下载应用提示0x80070002错误代码的具体解决方法.docxWin10系统使用商店下载应用提示0x80070002错误代码的具体解决方法.docxWin10系统使用商店下载应用提示0x80070002错误代码的具体解决方法....
Win7_0x0000003B蓝屏解决方法 各种的电脑蓝屏
#define PCD_IDLE 0x00 //取消当前命令 #define PCD_AUTHENT 0x0E //验证密钥 #define PCD_RECEIVE 0x08 //接收数据 #define PCD_TRANSMIT 0x04 //发送数据 #define PCD_TRANSCEIVE 0x0C //发送并接收数据 #define ...