1、JavaScript防止表单重复提交(主要用于网络延迟情况下用户点击多次submit按钮导致表单重复提交)

在jsp页面中,添加JavaScript代码来防止表单的重复提交。主要是针对在网络延迟情况下用户有时间点击多次submit按钮导致表单重复提交,使用javascript控制Form表单只能提交一次。

Var isCommitted = false;  //表单是否应提交标识,默认为false

function dosubmit() {

If(isCommitted == false){ //提交表单后,将表单是否已经提交设置为true

isCommitted = true; //返回true让表单正常提交

return true;

}else{

return false; //返回false表单不提交

}

}

2、将提交按钮设置为不可用,让用户点击第一次提交之后,没有机会点击第二次提交按钮的机会。(也可以将提交按钮隐藏起来,在点击第一次之后,将提交按钮隐藏起来)

function dosubmit() {

//获取表单提交按钮

Var btnSubmit = documen.getElementById(“sumit”);

//将表单提交按钮设置为不可用,可以避免用户再次点击提交按钮进行提交

btnSubmit.disabled = “disabled”;

//返回true让表单可以提交

return true;

}

3、利用Session防止表单重复提交(主要用于表单提交之后,点击浏览器刷新按钮导致表单重复提交,以及点击浏览器返回按钮退回到表单页面后进行再次提交)

(1)、表单页面由servlet程序(服务器端)生成,servlet为每次产生的表单页面分配一个唯一的随机标识号(Token令牌),并在FORM表单的一个隐藏字段中设置这个标识号,同时在当前用户的Session域中保存这个标识号。

(2)、当用户提交FORM表单时,负责处理表单提交的serlvet得到表单提交的标识号,并与session中存储的标识号比较,如果相同则处理表单提交,处理完后清除当前用户的Session域中存储的标识号。如果不一致,就是重复提交了,此时服务器端就可以不处理重复提交的表单了。

(3)、服务器程序将拒绝用户提交的表单请求情况如下:

1):存储Session域中的表单唯一的标识号与表单提交的标识号不同

2):当前用户的Session中不存在表单标识号

3):用户提交的表单数据中没有标识号字段

(4)、创建标识号

String token = TokenProccessor.getInstance().makeToken();

(5)、在服务器端使用Session保存标识号

request.getSession().setAttribute(“token”,token);

(6)、在form表单中也就是JSP页面中,使用隐藏域来存储标识号(Token令牌)

(可以使用EL表达式取出存储在Session域中的token)

”>

--%>

HTML表单重复按钮,防止表单重复提交的几种方法总结相关推荐

  1. php ajax jquery 表单重复提交,jQuery的 $.ajax防止重复提交的两种方法(推荐)

    下面给大家带来两种关于jquery 的ajax防止重复提交的解决方法,具体介绍如下所示: 1.第一种,对于onclick事件触发的的ajax 可以采用如下方法: 即在beforeSend中使点击按钮不 ...

  2. java mysql防重复提交_防止数据重复提交的6种方法(超简单)!

    有位朋友,某天突然问磊哥:在 Java 中,防止重复提交最简单的方案是什么? 这句话中包含了两个关键信息,第一:防止重复提交:第二:最简单. 于是磊哥问他,是单机环境还是分布式环境? 得到的反馈是单机 ...

  3. getclass方法_防止数据重复提交的6种方法(超简单)!

    有位朋友,某天突然问磊哥:在 Java 中,防止重复提交最简单的方案是什么? 这句话中包含了两个关键信息,第一:防止重复提交:第二:最简单. 于是磊哥问他,是单机环境还是分布式环境? 得到的反馈是单机 ...

  4. jQuery的 $.ajax防止重复提交的两种方法(推荐)

    本文给大家分享两种jquery 的ajax防止重复提交的方法,第一种方法对于onclick事件触发的ajax,在beforeSend中使点击按钮不可用,ajax结果返回后置为可用,第二种利用jquer ...

  5. html表单按钮灰色,点击提交按钮后按钮变灰色不可用状态的三种方法

    第一种方法:直接按钮中加入 当点击提交后,提交按钮变灰色不可用,这样可有效防止重复提交,本代码就是实现这样一个功能.从代码就可以看出,我们只需在提交按钮上加入这一句: οnclick="ja ...

  6. 防止表单重复提交的4种方法

    1.背景与介绍: 平时开发的项目中可能会出现下面这些情况: 由于用户误操作,多次点击表单提交按钮. 由于网速等原因造成页面卡顿,用户重复刷新提交页面. 黑客或恶意用户使用postman等工具重复恶意提 ...

  7. 后台防止表单重复提交的三种方法

    方案一:利用Session防止表单重复提交 具体的做法: 1.获取用户填写用户名和密码的页面时向后台发送一次请求,这时后台会生成唯一的随机标识号,专业术语称为Token(令牌). 2.将Token发送 ...

  8. html更改灰色按钮可用,点击提交按钮后按钮变灰色不可用状态的三种方法

    第一种方法:直接按钮中加入 当点击提交后,提交按钮变灰色不可用,这样可有效防止重复提交,本代码就是实现这样一个功能.从代码就可以看出,我们只需在提交按钮上加入这一句: οnclick="ja ...

  9. jquery按钮置灰_点击提交按钮后按钮变灰色不可用状态的三种方法

    第一种方法:直接按钮中加入 当点击提交后,提交按钮变灰色不可用,这样可有效防止重复提交,本代码就是实现这样一个功能.从代码就可以看出,我们只需在提交按钮上加入这一句: οnclick="ja ...

最新文章

  1. python为什么运行慢_为什么你写的Python运行的那么慢呢?
  2. oracle查看被锁的行,查找被锁的表到底是哪一行被锁定了
  3. PHP实现一个ip(如:127.0.0.1)和多个域名(虚拟主机)的绑定
  4. CSS(1)——如何使用css选择器
  5. 五大经典算法之动态规划
  6. 增加字库 安卓_【Android】Android4.4添加新语言和字库
  7. 2年3个月推倒重来的决心 独立游戏《须弥•域》的涅槃之路
  8. 深度学习与人类语言处理-语音识别(part1)
  9. 调用内部类里,在静态类中调用动态方法的问题
  10. linux c编程错误汇总
  11. GraphQL到底怎么用?看看这个例子就知道了
  12. 一级计算机办公软件,计算机一级与高级办公软件
  13. 中国对数字货币的态度及政策
  14. Photoshop 更换证件照底色
  15. 根据经纬度获取精确地址 (百度地图)
  16. 2022年湖北省光电子信息和生命健康领域科技计划成果路演征集条件以及申报时间流程汇总!
  17. C++的std::is_same与std::decay
  18. 基于角色管理的系统访问控制
  19. Python 框架 之 Django MVT 下的 M 的 模型的简单介绍和使用
  20. linux--Segfault详解

热门文章

  1. 全球与中国鼻腔护理产品市场现状及未来发展趋势
  2. 基于stm32的非接触式红外测温系统
  3. 进入docker中mysql容器的方法
  4. 配置centos虚拟机以及虚拟机联网问题
  5. 【无人机】基于SDRE对NPS II无人机进行点对点(调节)控制(Matlab代码实现)
  6. 电脑技巧:分享六个非常实用的资源网站
  7. react flow
  8. Linux常用命令使用方法大搜刮
  9. DNS域名解析过程+通俗理解
  10. 微星(MSI)笔记本安装ubuntu+win双系统