jeecgV2.0版本的form重复提交问题的解决方案
大家好!
最近咱ITeye网站上看了关于jeecg [官方]基于代码生成器智能开发平台(开源项目)作者的专访,
觉得该项目真真是我们这些程序员的福音,该项目目前V2版本发布
该项目相关资料可以从如下渠道获取:
在线演示:http://www.sapvm.net:8080/Google Code:http://code.google.com/p/jeecg/
视频下载:http://pan.baidu.com/share/link?shareid=162605&uk=2668473880
JEECG论坛: http://www.jeecg.org/
QQ交流群:106259349,106838471
联系邮箱: zhangdaiscott@163.com
据作者讲v3.0马上将于大家见面,通过和作者的简短的交流感觉一见如故,有幸也参与这个项目。
目前发布的2.0版本在form提交是没有规避重复提交的问题,作者让我看看这个问题。
通过对代码的大致了解,发现该项目采用的都是Jquery的form提交,也就是以AJAX的方式提交form表单。
鉴于此我通过在前台js控制基本可以解决这个问题。
现在将我解决该问题的过程分享给大家
我是在前台页面新增一个前台的全局变量来控制form的提交,该变量默认true,
在在用户提交表单时判断该变量如果为true则执行提交动作,否则返回或者提示用户重复提交。
在用户提交表单后,服务端响应结果前将该变量置为false。
在服务端响应结果完成后在将该变量置为true。这基本可以规避用户连续点击提交按钮导致的重复提交问题。
此次主要是在公告管理页面的公告添加实现了该功能即:note.jsp
核心代码如下:
var formFlag = true;
var noteAddForm = $('#noteAddForm').form({
url : 'noteAction!add.action',
success : function(data) {
var json = $.parseJSON(data);
if (json && json.success) {
$.messager.show({
title : '成功',
msg : json.msg
});
datagrid.datagrid('reload');
noteAddDialog.dialog('close');
} else {
$.messager.show({
title : '失败',
msg : '操作失败!'
});
}
//update-begin author:anchao for:重复提交 date:20130309
formFlag = true;
//update-end author:anchao for:重复提交 date:20130309
}
});
var noteAddDialog = $('#noteAddDialog').show().dialog({
title : '添加公告管理',
modal : true,
closed : true,
maximizable : true,
buttons : [ {
text : '添加',
handler : function() {
//update-begin author:anchao for:重复提交 date:20130309
if(formFlag){
formFlag = false;
//update-end author:anchao for:重复提交 date:20130309
noteAddForm.submit();
//update-begin author:anchao for:重复提交 date:20130309
}
//update-end author:anchao for:重复提交 date:20130309
}
} ]
});
<form id="noteAddForm" method="post">
<table class="tableForm">
<tr>
<td>标题</td>
<td>
<input name="title" type="text" maxlength="100" class="easyui-validatebox" data-options="required:true" missingMessage="请填写标题" style="width: 155px;"/>
</td>
</tr>
<tr>
<td>内容</td>
<td>
<textarea name="content" id="cdescAdd"></textarea>
</td>
</tr>
</table>
</form>
相关推荐
在Web开发中,尤其是使用JavaServer Pages (JSP)时,Form表单的重复提交问题是一个常见的挑战。这可能导致数据不一致性和服务器资源的浪费。本文将探讨三种防止JSP表单重复提交的方法。 首先,我们可以使用...
为了解决这个问题,开发者需要确保表单只提交一次,防止不必要的数据重复处理或者服务器的重复计算。下面详细解释几种防止Layui表单重复提交的方法。 首先,在HTML表单中,为了避免在提交时页面刷新导致的重复提交...
Form 2.0 控件 Form 2.0 控件
在IT行业中,尤其是在前端开发领域,防止用户重复提交是一项重要的任务,这有助于避免因网络延迟或用户误操作导致的数据混乱。Element-UI,一个流行的Vue.js组件库,提供了多种方式来处理这个问题。以下是如何在使用...
总结来说,Servlet、Struts和SpringMVC都提供了各自的解决方案来防止表单重复提交,主要方法包括使用Session、令牌机制、重定向和拦截器等。开发者可以根据项目需求选择合适的方式来实现,确保应用的稳定性和数据...
### Web应用中避免Form重复提交的三种方案 #### 一、使用JavaScript预防重复提交 **1. 设置变量标记** 为了防止表单重复提交,可以通过JavaScript设置一个全局变量,该变量用作标记,确保表单只能被提交一次。...
EXT 2.0 Form Demo 知识点详解 EXT是一个流行的JavaScript库,它专注于构建功能丰富的、用户界面复杂的Web应用程序。EXT 2.0版本在当时是一个重要的里程碑,引入了许多新特性和改进,特别是在表单处理方面。在这个...
然而,根据描述,这个从msdn下载并编译为2.0版本的FormDesigner可能存在一些bug。这可能会影响设计时体验,如控件布局异常、界面渲染问题或者事件处理不正确等。对于这些问题,开发者可能需要查看编译日志,调试源...
解决重复提交问题的8种方案 在本篇文章中,我们将讨论重复提交问题的八种解决方案。重复提交问题是指在Web应用程序中,当用户提交表单时,可能会导致重复提交,导致数据不一致和其他问题。为了解决这个问题,我们...
### JSP重复提交问题及其解决方法 ...针对JSP页面的重复提交问题,可以根据具体应用场景选择合适的解决方案。在实际应用中,结合多种方法可以更有效地防止重复提交,提高系统的健壮性和用户体验。
### Form2调用Form1控件的解决方案 #### 背景与问题描述 在Windows Forms应用程序开发过程中,经常会遇到需要在不同的窗体之间进行交互的情况。例如,当用户在`Form1`上的一个按钮(假设为`Button1`)被点击时,会...
在JSP开发中,防止表单(Form)重复提交是一个重要的问题,因为它可能导致数据的冗余或不一致性。以下是对避免Form重复提交的三种常见方案的详细解释: 1. JavaScript控制提交: 这种方法通过JavaScript在客户端...
### Struts2防止重复提交的解决方案 #### 一、引言 在Web应用程序开发中,一个常见的问题是如何有效地防止表单的重复提交。这不仅能够提高用户体验,还能增强系统的安全性。Struts2作为一款广泛使用的Java Web应用...
重复提交表单可能导致多种问题,包括数据库多次记录相同数据、用户会话状态的混淆、以及服务器资源的无效消耗等。为了解决这些问题,开发者需要在客户端和服务器端实现多重防御机制。 首先,客户端的防御策略主要...
总的来说,防止用户多次重复提交是一个多维度的解决方案,需要前端、后端和数据库共同协作。前端通过禁用按钮防止用户快速点击,后端通过session或token机制确保请求的独特性,数据库则作为最后一道防线,确保数据的...
针对表单重复提交问题,网上可以找到多种解决方案。其中比较常见的有两种: 1. **使表单按钮失效**:即在用户点击提交按钮后使其失效,以确保表单只能被提交一次。这种方法虽然简单有效,但用户体验较差,尤其是在...
在PHP开发中,防止表单重复提交是一个常见的需求,主要是为了避免用户因网络延迟、误操作或恶意行为导致的数据重复录入。以下是几种常见的解决方法: 1. **客户端脚本控制**: 使用JavaScript可以有效地防止用户在...
Ext 2.0的表单组件提供了一整套完整的解决方案,包括各种输入字段、按钮、标签、提示信息等。下面将详细解析这些知识点: 1. **表单(FormPanel)**:这是Ext 2.0中的核心表单组件,它是一个容器,可以包含各种表单...
**Spring Web MVC与Spring 2.0 Form Tag详解** 在Web开发领域,Spring Web MVC作为一款强大的MVC框架,被广泛应用于构建企业级的Web应用。它提供了模型(model)、视图(view)和控制器(controller)的分离,使得开发者...