1. 方法一、
  1. var flag = true;
  2. $(function() {
  3. $("#interested").click(function() {
  4. beInterested();
  5. });
  6. });
  7.  
  8. function beInterested() {
  9. //$("#interested").unbind("click");
  10. if (!flag) {
  11. alert("已感兴趣!");
  12. return;
  13. }
  14. if (flag) {
  15. var newNum = parseInt($("#beInterestedVal").attr("value"));
  16. // 点击之后就立即改变值
  17. $("#beInterestedVal").attr("value", newNum + 1);
  18. $("#beInterestedVal").text(newNum + 1);
  19. flag = false;
  20. }
  21.  
  22. var copyrightid = $("#copyrightid").val();
  23. jQuery.ajax({
  24. type : 'POST',
  25. url : "/cartoon-web/copyRight/beInterestedIn",
  26. data : {
  27. "cid" : copyrightid
  28. },
  29. dataType : 'json',
  30. success : function(data) {
  31. if (data.result == 'success') {
  32. flag = false;
  33. // 设置设置不可以再点击
  34. // $("#interested").unbind("click");
  35. // alert("修改数据成功,要改变样式,不让此点再次点击!");
  36. } else {
  37. flag = true;
  38. alert(data.msg);
  39. }
  40. },
  41. error : function(XMLHttpRequest, textStatus, errorThrown) {
  42. alert("网络或者其它原因导致的错误!");
  43. flag = true;
  44. }
  45. });
  46. }

方法二、

  1. $("#publicCopyRight").click(function() {
  2. var b = validator.form();
  3. if (b == true) {
  4. submitForm();
  5. }
  6. });
  1. var lock = true;
  2. function submitForm() {
  3. var cid = $("#copyrightForm #cid").attr("value");
  4. /* 版权方名称 */
  5. var copyRightName = $("#copyRightName").val();
  6. /* 联系方式 */
  7. var contact = $("#contact").val();
  8. /* 作品名称 */
  9. var worksName = $("#worksName").val();
  10. /* 作品类别 */
  11. var worksCategory = $("#worksCategory").val();
  12. if (worksCategory == "请选择...") {
  13. worksCategory = "";
  14. }
  15. console.log("worksCategory = " + worksCategory);
  16. /* 授权价格 */
  17. var price = $("#price").val();
  18. /* 作品介绍 */
  19. var worksInfo = $(document.getElementsByTagName('iframe')[0].contentWindow.document.body).html();
  20. // alert(worksInfo);
  21. /* 授权范围 */
  22. var auScope = $("#auScope").val();
  23. /* 授权期限 */
  24. var auDeadLine = $("#auDeadLine").val();
  25. /* 本信息有效期限 */
  26. var termOfValidity = $('input[name="termOfValidity"]:checked').val();
  27. /* 表示是否同意的标识 */
  28. //console.log(document.getElementById("agreeFlag").checked);
  29. var agreeFlag = (document.getElementById("agreeFlag").checked == true) ? 1 : 0;
  30. if(agreeFlag == 0) {
  31. lock = false;
  32. alert("对不起,您得先同意酷漫网相关法律声明才可以发布版权信息!");
  33. $("#low-declare").css("color","red");
  34. } else {
  35. lock = true;
  36. $("#low-declare").css("color","#2d3e53");
  37. }
  38.  
  39. /* 获取图片上传的路径 */
  40. var copyRightImage = $("#posterUrl").val();
  41.  
  42. if (lock == true) {
  43. $("#publicCopyRight").unbind("click");
  44. lock = false;
  45.  
  46. jQuery.ajax({
  47. type : 'post',
  48. url : url,
  49. data : {
  50. "cid" : cid,
  51. "copyRightName" : copyRightName,
  52. "contact" : contact,
  53. "worksName" : worksName,
  54. "worksCategory" : worksCategory,
  55. "price" : price,
  56. "worksInfo" : worksInfo,
  57. "auScope" : auScope,
  58. "auDeadLine" : auDeadLine,
  59. "termOfValidity" : termOfValidity,
  60. "agreeFlag" : agreeFlag,
  61. "copyRightImage" : copyRightImage,
  62. "mark" : "publishyes"
  63. },
  64. contentType : "application/x-www-form-urlencoded; charset=utf-8",
  65. dataType : 'json',
  66. success : function(data) {
  67. if (data.result == 'success') {
  68. // 成功之后还是不让提交,直接等待跳转。
  69. //console.log("/cartoon-web/copyRight/toPreviewPage?cid=" + data.cid);
  70. window.location = "/cartoon-web/copyRight/toPreviewPage?cid=" + data.cid;
  71. } else if (data.result == "fail") {
  72. alert(data.msg);
  73. lock = true;
  74. $("#publicCopyRight").bind("click",function() {
  75. submitForm();
  76. });
  77. }
  78. },
  79. error : function(XMLHttpRequest, textStatus, errorThrown) {
  80. alert("网络或者其它原因导致的错误!");
  81. lock = true;
  82. $("#publicCopyRight").bind("click",function() {
  83. submitForm();
  84. });
  85. }
  86. });
  87. }
  88. }

EasyUI中解决表单重复提交(主要看Add):

  1. /*
  2. * name :Zuoquan Tu
  3. * mail :tuzq@XXXXX.cn
  4. * date :2015/06/30
  5. * version :1.1
  6. * description:modified by tuzuoquan 2015/06/30
  7. * CopyRight (C) 2015-06
  8. */
  9. var PageHandler = (function($) {
  10. var isAddedFlag = false;
  11. return {
  12. searchClear:function(){
  13. $("#adPage-form").form("clear");
  14. },
  15. submitForm:function() {
  16. //获取当前页,总页数等信息
  17. var grid = $("#adPage-datagrid");
  18. var options = grid.datagrid('getPager').data("pagination").options;
  19. //表示当前页
  20. var curr = options.pageNumber;
  21. //表示总页数
  22. //var total = options.total;
  23. //表示每页的大小
  24. var pageRow = options.pageSize;
  25.  
  26. //获得字段信息
  27. var adPageName = $("#adPage-form #adPageName").textbox("getValue");
  28. var adPageAddress = $("#adPage-form #adPageAddress").textbox("getValue");
  29.  
  30. // 对table进行操作
  31. $("#adPage-datagrid").datagrid('load', {
  32. "page" : curr,
  33. "rows" : pageRow,
  34. "adPageName" : adPageName,
  35. "adPageAddress" : adPageAddress
  36. });
  37. },
  38. /**
  39. * 添加窗口中的重置按钮
  40. */
  41. clearForm:function() {
  42. $("#adPage-add-form").form("clear");
  43. },
  44. /**
  45. * 打开添加UI
  46. */
  47. addUI:function() {
  48. $("#adPage-add-window").window("open");
  49. },
  50. /**
  51. * 实现添加功能
  52. */
  53. add:function() {
  54. var isValid = $("#adPage-add-form").form('validate');
  55. if(!isValid) {
  56. $.messager.alert('验证错误提示','对不起,信息格式错误!');
  57. } else {
  58. if(PageHandler.isAddedFlag) {
  59. $.messager.show({
  60. title : '消息提醒',
  61. msg : '正在保存,请您耐心等待...',
  62. timeout : 5000,
  63. showType : 'slide'
  64. });
  65. return;
  66. }
  67. if(!PageHandler.isAddedFlag) {
  68. //获得字段信息
  69. var adPageName = $("#adPage-add-window #adPageName").textbox("getValue");
  70. var adPageAddress = $("#adPage-add-window #adPageAddress").textbox("getValue");
  71. var adFunctionNum = $("#adPage-add-window #adFunctionNum").numberbox("getValue");
  72.  
  73. PageHandler.isAddedFlag = true;
  74.  
  75. jQuery.ajax({
  76. type : 'POST',
  77. url : basePath + "/adPage/createAdPage",
  78. data : {
  79. "adPageName" : adPageName,
  80. "adPageAddress" : adPageAddress,
  81. "adFunctionNum" : adFunctionNum
  82. },
  83. dataType : 'json',
  84. success : function(data) {
  85. if(data.result == "success") {
  86. $("#adPage-add-window").window("close");
  87. $("#adPage-datagrid").datagrid('reload');
  88.  
  89. PageHandler.isAddedFlag = false;
  90. } else if (data.result == "error") {
  91. $("#adPage-add-window").window("close");
  92. $.messager.show({
  93. title : '消息提示',
  94. msg : data.msg,
  95. timeout : 5000,
  96. showType : 'slide'
  97. });
  98.  
  99. PageHandler.isAddedFlag = false;
  100. }
  101. },
  102. error : function() {
  103. $.messager.show({
  104. title : '消息提示',
  105. msg : '添加失败......',
  106. timeout : 5000,
  107. showType : 'slide'
  108. });
  109.  
  110. PageHandler.isAddedFlag = false;
  111. }
  112. });
  113. }
  114. }
  115. },
  116. /**
  117. * 修改
  118. */
  119. editUI:function() {
  120. var row = $("#adPage-datagrid").datagrid('getSelected');
  121. if (row) {
  122. var id = row.id;
  123. $("#adPage-edit-window #id").val(id);
  124. $("#adPage-edit-window #adPageName").textbox('setValue', row.adPageName);
  125. $("#adPage-edit-window #adPageAddress").textbox('setValue', row.adPageAddress);
  126. $("#adPage-edit-window #adFunctionNum").numberbox('setValue', row.adFunctionNum);
  127.  
  128. $("#adPage-edit-window").window("open");
  129. } else {
  130. $.messager.show({
  131. title : '消息提示',
  132. msg : '对不起,没有选中要修改的行......',
  133. timeout : 5000,
  134. showType : 'slide'
  135. });
  136. }
  137. },
  138. edit:function() {
  139. //1、判断校验是否成功
  140. var isValid = $("#adPage-edit-window").form('validate');
  141. //2、如果失败则提示修改失败
  142. if(!isValid) {
  143. $.messager.alert('验证错误提示','对不起,信息格式错误!');
  144. } else {
  145. //3、如果成功则提交修改
  146. var id = $("#adPage-edit-window #id").val();
  147. var adPageName = $("#adPage-edit-window #adPageName").textbox('getValue');
  148. var adPageAddress = $("#adPage-edit-window #adPageAddress").textbox('getValue');
  149. var adFunctionNum = $("#adPage-edit-window #adFunctionNum").textbox('getValue');
  150.  
  151. jQuery.ajax({
  152. type : 'POST',
  153. url : basePath + "/adPage/updateAdPage",
  154. data : {
  155. "id":id,
  156. "adPageName" : adPageName,
  157. "adPageAddress" : adPageAddress,
  158. "adFunctionNum" : adFunctionNum
  159. },
  160. dataType : 'json',
  161. success : function(data) {
  162. if(data.result == "success") {
  163. $("#adPage-edit-window").window("close");
  164. $("#adPage-datagrid").datagrid('reload');
  165. } else if (data.result == "error") {
  166. $("#adPage-edit-window").window("close");
  167. $.messager.show({
  168. title : '消息提示',
  169. msg : data.msg,
  170. timeout : 5000,
  171. showType : 'slide'
  172. });
  173. }
  174. },
  175. error : function() {
  176. $.messager.show({
  177. title : '消息提示',
  178. msg : '修改失败......',
  179. timeout : 5000,
  180. showType : 'slide'
  181. });
  182. }
  183. });
  184. }
  185. },
  186. remove:function() {
  187. var row = $('#adPage-datagrid').datagrid('getSelected');
  188. if (row) {
  189. $.messager.confirm('Confirm',
  190. '确定删除该用户吗?',
  191. function(r) {
  192. if (r) {
  193. jQuery.ajax({
  194. type : 'POST',
  195. url : basePath + "/adPage/updateFlag",
  196. data : {
  197. "id" : row.id,
  198. "flag":0
  199. },
  200. dataType : 'json',
  201. success : function(data) {
  202. if(data.result == "success") {
  203. $("#adPage-datagrid").datagrid('reload');
  204. } else if(data.result == "error") {
  205. $.messager.show({
  206. title : '消息提示',
  207. msg : data.msg,
  208. timeout : 5000,
  209. showType : 'slide'
  210. });
  211. }
  212.  
  213. },
  214. error : function() {
  215. $.messager.show({
  216. title : '消息提示',
  217. msg : '删除失败......',
  218. timeout : 5000,
  219. showType : 'slide'
  220. });
  221. }
  222. });
  223. }
  224. });
  225. }
  226. }
  227. }
  228. })(jQuery);
  229.  
  230. var toolbar = [{
  231. text:'添加',
  232. iconCls:'icon-add',
  233. handler:PageHandler.addUI
  234. },'-',{
  235. text : '修改',
  236. iconCls : 'icon-edit',
  237. handler : PageHandler.editUI
  238. }, '-',{
  239. text : '删除',
  240. iconCls : 'icon-remove',
  241. handler : PageHandler.remove
  242. }];

使用js控制表单重复提交(1加锁,2事件方式,3 EasyUI中解决表单重复提交)的更多相关文章

  1. Struts2中解决表单重复提交

    3. 表单的重复提交问题 1). 什么是表单的重复提交 > 在不刷新表单页面的前提下:  >> 多次点击提交按钮 >> 已经提交成功, 按 "回退" ...

  2. EasyUI中在表单提交之前进行验证

    使用EasyUi我们可以在客户端表单提交之前进行验证,过程如下:只需在onSubmit的时候使用return  $("#form1").form('validate')方法即可,E ...

  3. Android Studio中解决jar包重复依赖导致的代码编译错误

    在原本的代码中已经使用了OKHTTP和rxjava,然后今天依赖retrofit的时候一直报错 Program type already present: okhttp3.internal.ws.Re ...

  4. 用easy-ui中的表单操作实现一行操作和多行操作

    http://blog.sina.com.cn/s/blog_8e50ede90101fff9.html

  5. java web解决表单重复提交问题

    我们大家再进行web开发的时候,必不可少会遇见表单重复提交问题.今天就来给总结如何解决表单提交问题,欢迎大家交流指正. 首先我们在讨论如何解决表单重复提交问题之前先来解决三个问题:1.什么叫表单重复提 ...

  6. MVC中Form表单的提交

    概述 Web页面进行Form表单提交是数据提交的一种,在MVC中Form表单提交到服务器.服务端接受Form表单的方式有多种,如果一个Form有2个submit按钮,那后台如何判断是哪个按钮提交的数据 ...

  7. 第二百二十一节,jQuery EasyUI,Form(表单)组件

    jQuery EasyUI,Form(表单)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Form(表单)组件的使用方法,这个组件不依赖于 ...

  8. JS控制,返回上一页之后强行刷新一次

    网站建设过程中,提交页面后我们经常要用到window.history.go(-1)返回上一页,因为页面的缓存功能,我们只能返回上次操作的页面,但在删除等操作中,我们希望实时看到删除项目后的页面,这就要 ...

  9. 通过jdbc获取数据库中的表结构

    通过jdbc获取数据库中的表结构 主键 各个表字段类型及应用生成实体类   1.JDBC中通过MetaData来获取具体的表的相关信息.可以查询数据库中的有哪些表,表有哪些字段,字段的属性等等.Met ...

随机推荐

  1. Python的一个解释凯撒密码的程序

    #!/usr/bin/env python # -*- coding: utf-8 -*- ''' { Title:CaserCode Author:naiquan Type:crypto Detai ...

  2. 3-学习GPRS_Air202(需要知道的关于Lua的一些基本的知识)

      http://www.cnblogs.com/yangfengwu/p/8948935.html 学东西一定是打破沙锅学到底,有问题就解决问题,不要试图去回避或者放弃解决当前的问题,如果总是回避或 ...

  3. JDK、JRE和JVM的关系

    JDK中包含了JRE,JRE中包含了JVM. 详解: JDK是JAVA的核心,包括JRE(JAVA 虚拟环境).编译器等,JDK的主流产品是由SUN公司开发的,JDK本身是用JAVA编写的,安装包的S ...

  4. 集群技术(三)MySQL集群深度解析

    什么是MySQL集群 MySQL集群是一个无共享的(shared-nothing).分布式节点架构的存储方案,其目的是提供容错性和高性能. 数据更新使用读已提交隔离级别(read-committedi ...

  5. Netty 4源码解析:服务端启动

    Netty 4源码解析:服务端启动 1.基础知识 1.1 Netty 4示例 因为Netty 5还处于测试版,所以选择了目前比较稳定的Netty 4作为学习对象.而且5.0的变化也不像4.0这么大,好 ...

  6. FORM开发之键性弹性域开发

    1.创建表时带有键弹性域字段 SUMMARY_FLAG VARCHAR2(1) , /* 必须有此字段 */ ENABLED_FLAG VARCHAR2(1) , /* 必须有此字段 */ START ...

  7. 开发人员需要熟知的常用Linux命令Version、Kernel查看

    当我们需要在Linux系统中安装一些软件而去下载安装文件时,一般都需要确认到底下载哪个版本的安装包,这就需要我们知道自己的Linux系统到底是什么版本.什么内核,常见的版本.内核查看命令或者文件有如下 ...

  8. SQL Server专家的10个秘诀(翻译加注解)

    当你点开这篇文章的时候,如果觉得没有读下去的必要,也希望你能拉到最后看看那几行字! 原文出处:https://technet.microsoft.com/en-us/magazine/gg299551 ...

  9. T-SQL动态查询(2)——关键字查询

    接上文:T-SQL动态查询(1)--简介 前言: 在开发功能的过程中,我们常常会遇到类似以下情景:应用程序有一个查询功能,允许用户在很多查询条件中选择所需条件.这个也是本系列的关注点. 但是有时候你也 ...

  10. Springmvc注解注入的简单demo

    今天看了注解注入觉得确实简化了xml配置,一般情况下Spring容器要成功启动的三大要件分别是:Bean定义信息,Bean实现类,以及spring本身.如果采取基于XML的配置,Bean信息和Bean ...