在客户端限制表单重复提交有两种方法:
第一种:在javascript脚本中设置一个标志变量,来区分表单是否已经提交。如果已经提交,则弹出对话框告诉用户“重复提交”。
第二种:在单击提交按钮以后将提交按钮设置为disabled状态,这样用户就无法再提交按钮,客户端也就无法重复提交。
采用第一种方法:
1.新建一个ClientTest1.jsp文件,代码如下:
<%@ page language="java" contentType="text/html; charset=Gb2312"
pageEncoding="GB2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Gb2312">
<title>客户端限制重复提交</title>
<script language="javascript"
<!--定义重复提交标志变量 -->
var repeatSubmitFlag = false;
<!-- 重复提交检查函数 -->
function checkSubmit()
{
if(repeatSubmitFlag) <!-- 如果标志为true,则说明页面已经提交 -->
{
window.alert('禁止重复提交!');
return false;
}
else
{
repeatSubmitFlag = true;
return true;
}
}
</script>
</head>
<body bcolor="#ffffff">
<form name="form_client" action="http://www.dlmu.edu.cn" onsubmit="return checkSubmit();">
<input type="checkbox" name="check_1" checked=true/>大连海事大学
<input type="submit" name="submitok"/>
</form>
</body>
</html>
2.如果重复提交表单就会弹出错误提示对话框
采用第二种方法:1.新建一个ClientTest2.jsp文件,代码如下:
<%@ page language="java" contentType="text/html; charset=GB2312"
pageEncoding="Gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Gb2312">
<title>客户端限制重复提交-2</title>
</head>
<body bgcolor="#ffffff">
<form name="form_client" action="http://www.dlmu.edu.cn"
onsubmit="window.document.form_client.submitok.disabled=true; return true;">
<input type="checkbox" name="check_1" checked="true"/>大连海事大学
<input type="submit" name="submitok"/>
</form>
</body>
</html>
2.如果重复提交表单就会弹出错误提示对话框
分享到:
相关推荐
在Web开发中,表单提交是一项基础且关键的操作,它允许用户向服务器发送数据进行...总的来说,防止表单重复提交是一个多层面、多层次的问题,需要综合运用客户端和服务器端的技术,以确保应用的稳定性和数据的一致性。
在这个SSH笔记中,我们将深入探讨四个核心主题:数据验证、文件上传下载、防止表单重复提交以及自定义拦截器。 首先,我们来谈谈数据验证。在Web应用中,数据验证是必不可少的一环,它确保用户输入的数据符合业务...
Token机制是通过在客户端(浏览器)和服务器之间传递一个唯一的标识符(Token)来防止表单的重复提交。当用户首次提交表单时,服务器生成一个Token并将其存储在服务器端,同时将其作为隐藏字段返回给客户端。如果...
在Web开发中,防止重复提交是一项重要的任务,因为它可能导致数据的不一致性或处理逻辑的错误执行。Struts2提供了几种策略来防止表单的重复提交,确保请求的唯一性和事务的一致性。 一、令牌(Token)机制 Struts2...
在实际开发中,我们经常会遇到两个关键问题:重复提交和文件上传。本教程将详细介绍如何使用Struts来解决这些问题。 一、重复提交问题 在Web应用中,用户可能会意外地多次点击提交按钮,导致服务器端接收到重复的...
在这个主题中,我们将深入探讨两个关键知识点:如何实现客户端限制提交以及如何生成验证码。这两个功能在实际web应用中非常常见,它们有助于提高用户体验和网站安全性。 首先,我们来讨论客户端限制提交。在web表单...
在处理表单提交时,防止重复提交是一个重要的问题,因为这可能导致数据的不一致性。Struts2为此提供了两种机制:Token机制和Cookie,这两种方法都是为了确保每个表单提交仅被处理一次。 **Struts2的Token机制** ...
提交表单后,服务器端通过Servlet或JSP页面处理数据。 6. **会话管理**:为了跟踪用户在整个调查过程中的行为,可能需要使用会话管理。JSP提供了内置对象`session`来实现这一功能,可以保存用户的答题状态,防止...
7. **JSP标签库**:可能使用自定义标签库(JSTL)或其他开源库(如Struts, Spring MVC)简化代码,提高可维护性,如处理表单提交、显示数据等。 8. **安全性**:投票系统需要防止重复投票、保证数据的完整性和一致...
在"jspsmartupload"这个组件中,可能已经封装了上传文件的前端展示、表单提交、后端接收和存储等一系列流程,以及下载文件的实现。这可以极大地简化开发工作,减少代码量,提高开发效率。组件可能还包括了错误处理...
"jsp刷新不变计数器"指的是在使用JavaServer Pages (JSP)技术构建的网页中,实现的一种即使页面被刷新,计数也不会增加的计数器机制。这种计数器的设计目的是为了确保每次实际的独立访问被准确地记录,而不会因为...
基于JAVA和JSP(JavaServer Pages)的开发,意味着该系统利用了JAVA的强大后端处理能力和JSP的动态网页生成能力,实现了服务器与客户端之间的交互。 首先,我们来了解一下JSP(JavaServer Pages)。JSP是一种用于...
在Java服务器页面(JSP)中实现图片上传功能是一项常见的任务,这通常涉及到客户端通过HTML表单提交数据,服务器端使用Servlet或JSP脚本来处理这些数据,包括图片文件。以下是一个详细的步骤来阐述如何在JSP中实现...
此外,每次页面刷新或表单提交都应生成新的验证码,防止重复使用。 这个"JSP生成数字验证码程序例子"将涵盖以上所有步骤,提供一个完整的实现,帮助开发者理解如何在实际项目中应用这一功能。通过学习这个示例,你...
3. 动态表单:使用JSP创建动态生成的表单,用户可以填写并提交,Servlet处理这些提交的数据。 4. 数据库交互:使用JDBC(Java Database Connectivity)连接数据库,执行CRUD(Create, Read, Update, Delete)操作,...
在这个项目中,JSP页面可能包含HTML和Java代码,用户可以通过表单提交图片上传请求。JSP中的表单元素如`<form>`可以用来接收用户的文件选择,然后通过POST方式提交到后台的Servlet。 2. **Servlet处理**: Servlet...
这有助于跟踪用户的行为,例如,判断用户是否已登录,或者限制同一用户短时间内重复留言。 8. **错误处理与日志记录**: 留言簿应用中可能遇到各种异常,比如数据库连接失败、SQL语法错误等。应通过`try-catch-...
1. **创建HTML表单**:在JSP页面中,我们需要创建一个包含`<input type="file">`标签的表单,让用户选择要上传的图片文件。表单还需要设置`enctype`属性为`multipart/form-data`,因为这是处理文件上传所必需的。 `...
在本项目中,JSP可能包含了文件上传的表单,用户可以通过选择本地文件并提交表单进行上传。JSP可以通过使用JSTL(JavaServer Pages Standard Tag Library)或EL(Expression Language)来简化与Servlet的交互。 在...
5. **会话管理**:为了防止用户重复提交或者未经授权的访问,JSP留言本可能会用到会话管理。例如,通过`session`对象,可以跟踪用户的登录状态,或者限制每个用户只能提交一条留言。 6. **安全性**:为了保护用户...