使用js控制表单重复提交(1加锁,2事件方式,3 EasyUI中解决表单重复提交)
方法一、
var flag = true; $(function() { $("#interested").click(function() { beInterested(); }); }); function beInterested() { //$("#interested").unbind("click"); if (!flag) { alert("已感兴趣!"); return; } if (flag) { var newNum = parseInt($("#beInterestedVal").attr("value")); // 点击之后就立即改变值 $("#beInterestedVal").attr("value", newNum + 1); $("#beInterestedVal").text(newNum + 1); flag = false; } var copyrightid = $("#copyrightid").val(); jQuery.ajax({ type : 'POST', url : "/cartoon-web/copyRight/beInterestedIn", data : { "cid" : copyrightid }, dataType : 'json', success : function(data) { if (data.result == 'success') { flag = false; // 设置设置不可以再点击 // $("#interested").unbind("click"); // alert("修改数据成功,要改变样式,不让此点再次点击!"); } else { flag = true; alert(data.msg); } }, error : function(XMLHttpRequest, textStatus, errorThrown) { alert("网络或者其它原因导致的错误!"); flag = true; } }); }
方法二、
$("#publicCopyRight").click(function() { var b = validator.form(); if (b == true) { submitForm(); } });
var lock = true; function submitForm() { var cid = $("#copyrightForm #cid").attr("value"); /* 版权方名称 */ var copyRightName = $("#copyRightName").val(); /* 联系方式 */ var contact = $("#contact").val(); /* 作品名称 */ var worksName = $("#worksName").val(); /* 作品类别 */ var worksCategory = $("#worksCategory").val(); if (worksCategory == "请选择...") { worksCategory = ""; } console.log("worksCategory = " + worksCategory); /* 授权价格 */ var price = $("#price").val(); /* 作品介绍 */ var worksInfo = $(document.getElementsByTagName('iframe')[0].contentWindow.document.body).html(); // alert(worksInfo); /* 授权范围 */ var auScope = $("#auScope").val(); /* 授权期限 */ var auDeadLine = $("#auDeadLine").val(); /* 本信息有效期限 */ var termOfValidity = $('input[name="termOfValidity"]:checked').val(); /* 表示是否同意的标识 */ //console.log(document.getElementById("agreeFlag").checked); var agreeFlag = (document.getElementById("agreeFlag").checked == true) ? 1 : 0; if(agreeFlag == 0) { lock = false; alert("对不起,您得先同意酷漫网相关法律声明才可以发布版权信息!"); $("#low-declare").css("color","red"); } else { lock = true; $("#low-declare").css("color","#2d3e53"); } /* 获取图片上传的路径 */ var copyRightImage = $("#posterUrl").val(); if (lock == true) { $("#publicCopyRight").unbind("click"); lock = false; jQuery.ajax({ type : 'post', url : url, data : { "cid" : cid, "copyRightName" : copyRightName, "contact" : contact, "worksName" : worksName, "worksCategory" : worksCategory, "price" : price, "worksInfo" : worksInfo, "auScope" : auScope, "auDeadLine" : auDeadLine, "termOfValidity" : termOfValidity, "agreeFlag" : agreeFlag, "copyRightImage" : copyRightImage, "mark" : "publishyes" }, contentType : "application/x-www-form-urlencoded; charset=utf-8", dataType : 'json', success : function(data) { if (data.result == 'success') { // 成功之后还是不让提交,直接等待跳转。 //console.log("/cartoon-web/copyRight/toPreviewPage?cid=" + data.cid); window.location = "/cartoon-web/copyRight/toPreviewPage?cid=" + data.cid; } else if (data.result == "fail") { alert(data.msg); lock = true; $("#publicCopyRight").bind("click",function() { submitForm(); }); } }, error : function(XMLHttpRequest, textStatus, errorThrown) { alert("网络或者其它原因导致的错误!"); lock = true; $("#publicCopyRight").bind("click",function() { submitForm(); }); } }); } }
EasyUI中解决表单重复提交(主要看Add):
/* * name :Zuoquan Tu * mail :tuzq@XXXXX.cn * date :2015/06/30 * version :1.1 * description:modified by tuzuoquan 2015/06/30 * CopyRight (C) 2015-06 */ var PageHandler = (function($) { var isAddedFlag = false; return { searchClear:function(){ $("#adPage-form").form("clear"); }, submitForm:function() { //获取当前页,总页数等信息 var grid = $("#adPage-datagrid"); var options = grid.datagrid('getPager').data("pagination").options; //表示当前页 var curr = options.pageNumber; //表示总页数 //var total = options.total; //表示每页的大小 var pageRow = options.pageSize; //获得字段信息 var adPageName = $("#adPage-form #adPageName").textbox("getValue"); var adPageAddress = $("#adPage-form #adPageAddress").textbox("getValue"); // 对table进行操作 $("#adPage-datagrid").datagrid('load', { "page" : curr, "rows" : pageRow, "adPageName" : adPageName, "adPageAddress" : adPageAddress }); }, /** * 添加窗口中的重置按钮 */ clearForm:function() { $("#adPage-add-form").form("clear"); }, /** * 打开添加UI */ addUI:function() { $("#adPage-add-window").window("open"); }, /** * 实现添加功能 */ add:function() { var isValid = $("#adPage-add-form").form('validate'); if(!isValid) { $.messager.alert('验证错误提示','对不起,信息格式错误!'); } else { if(PageHandler.isAddedFlag) { $.messager.show({ title : '消息提醒', msg : '正在保存,请您耐心等待...', timeout : 5000, showType : 'slide' }); return; } if(!PageHandler.isAddedFlag) { //获得字段信息 var adPageName = $("#adPage-add-window #adPageName").textbox("getValue"); var adPageAddress = $("#adPage-add-window #adPageAddress").textbox("getValue"); var adFunctionNum = $("#adPage-add-window #adFunctionNum").numberbox("getValue"); PageHandler.isAddedFlag = true; jQuery.ajax({ type : 'POST', url : basePath + "/adPage/createAdPage", data : { "adPageName" : adPageName, "adPageAddress" : adPageAddress, "adFunctionNum" : adFunctionNum }, dataType : 'json', success : function(data) { if(data.result == "success") { $("#adPage-add-window").window("close"); $("#adPage-datagrid").datagrid('reload'); PageHandler.isAddedFlag = false; } else if (data.result == "error") { $("#adPage-add-window").window("close"); $.messager.show({ title : '消息提示', msg : data.msg, timeout : 5000, showType : 'slide' }); PageHandler.isAddedFlag = false; } }, error : function() { $.messager.show({ title : '消息提示', msg : '添加失败......', timeout : 5000, showType : 'slide' }); PageHandler.isAddedFlag = false; } }); } } }, /** * 修改 */ editUI:function() { var row = $("#adPage-datagrid").datagrid('getSelected'); if (row) { var id = row.id; $("#adPage-edit-window #id").val(id); $("#adPage-edit-window #adPageName").textbox('setValue', row.adPageName); $("#adPage-edit-window #adPageAddress").textbox('setValue', row.adPageAddress); $("#adPage-edit-window #adFunctionNum").numberbox('setValue', row.adFunctionNum); $("#adPage-edit-window").window("open"); } else { $.messager.show({ title : '消息提示', msg : '对不起,没有选中要修改的行......', timeout : 5000, showType : 'slide' }); } }, edit:function() { //1、判断校验是否成功 var isValid = $("#adPage-edit-window").form('validate'); //2、如果失败则提示修改失败 if(!isValid) { $.messager.alert('验证错误提示','对不起,信息格式错误!'); } else { //3、如果成功则提交修改 var id = $("#adPage-edit-window #id").val(); var adPageName = $("#adPage-edit-window #adPageName").textbox('getValue'); var adPageAddress = $("#adPage-edit-window #adPageAddress").textbox('getValue'); var adFunctionNum = $("#adPage-edit-window #adFunctionNum").textbox('getValue'); jQuery.ajax({ type : 'POST', url : basePath + "/adPage/updateAdPage", data : { "id":id, "adPageName" : adPageName, "adPageAddress" : adPageAddress, "adFunctionNum" : adFunctionNum }, dataType : 'json', success : function(data) { if(data.result == "success") { $("#adPage-edit-window").window("close"); $("#adPage-datagrid").datagrid('reload'); } else if (data.result == "error") { $("#adPage-edit-window").window("close"); $.messager.show({ title : '消息提示', msg : data.msg, timeout : 5000, showType : 'slide' }); } }, error : function() { $.messager.show({ title : '消息提示', msg : '修改失败......', timeout : 5000, showType : 'slide' }); } }); } }, remove:function() { var row = $('#adPage-datagrid').datagrid('getSelected'); if (row) { $.messager.confirm('Confirm', '确定删除该用户吗?', function(r) { if (r) { jQuery.ajax({ type : 'POST', url : basePath + "/adPage/updateFlag", data : { "id" : row.id, "flag":0 }, dataType : 'json', success : function(data) { if(data.result == "success") { $("#adPage-datagrid").datagrid('reload'); } else if(data.result == "error") { $.messager.show({ title : '消息提示', msg : data.msg, timeout : 5000, showType : 'slide' }); } }, error : function() { $.messager.show({ title : '消息提示', msg : '删除失败......', timeout : 5000, showType : 'slide' }); } }); } }); } } } })(jQuery); var toolbar = [{ text:'添加', iconCls:'icon-add', handler:PageHandler.addUI },'-',{ text : '修改', iconCls : 'icon-edit', handler : PageHandler.editUI }, '-',{ text : '删除', iconCls : 'icon-remove', handler : PageHandler.remove }];
使用js控制表单重复提交(1加锁,2事件方式,3 EasyUI中解决表单重复提交)的更多相关文章
- Struts2中解决表单重复提交
3. 表单的重复提交问题 1). 什么是表单的重复提交 > 在不刷新表单页面的前提下: >> 多次点击提交按钮 >> 已经提交成功, 按 "回退" ...
- EasyUI中在表单提交之前进行验证
使用EasyUi我们可以在客户端表单提交之前进行验证,过程如下:只需在onSubmit的时候使用return $("#form1").form('validate')方法即可,E ...
- Android Studio中解决jar包重复依赖导致的代码编译错误
在原本的代码中已经使用了OKHTTP和rxjava,然后今天依赖retrofit的时候一直报错 Program type already present: okhttp3.internal.ws.Re ...
- 用easy-ui中的表单操作实现一行操作和多行操作
http://blog.sina.com.cn/s/blog_8e50ede90101fff9.html
- java web解决表单重复提交问题
我们大家再进行web开发的时候,必不可少会遇见表单重复提交问题.今天就来给总结如何解决表单提交问题,欢迎大家交流指正. 首先我们在讨论如何解决表单重复提交问题之前先来解决三个问题:1.什么叫表单重复提 ...
- MVC中Form表单的提交
概述 Web页面进行Form表单提交是数据提交的一种,在MVC中Form表单提交到服务器.服务端接受Form表单的方式有多种,如果一个Form有2个submit按钮,那后台如何判断是哪个按钮提交的数据 ...
- 第二百二十一节,jQuery EasyUI,Form(表单)组件
jQuery EasyUI,Form(表单)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Form(表单)组件的使用方法,这个组件不依赖于 ...
- JS控制,返回上一页之后强行刷新一次
网站建设过程中,提交页面后我们经常要用到window.history.go(-1)返回上一页,因为页面的缓存功能,我们只能返回上次操作的页面,但在删除等操作中,我们希望实时看到删除项目后的页面,这就要 ...
- 通过jdbc获取数据库中的表结构
通过jdbc获取数据库中的表结构 主键 各个表字段类型及应用生成实体类 1.JDBC中通过MetaData来获取具体的表的相关信息.可以查询数据库中的有哪些表,表有哪些字段,字段的属性等等.Met ...
随机推荐
- Win10 下Cmake编译配置 Opencv3.1 + Cuda7.5 + VS2013
折腾了三天终于配置成功了,在此写下编译配置的全部步骤和遇到的很多坑. 整体介绍: OpenCV 中 CUDA 实现的函数还不是太多,使用前要在OpenCV的官网上确认以下你想要的功能是否已经实现,否则 ...
- 【已解决】IIS搭建 asp.net core 项目后 其他电脑访问不到资源文件
IIS搭建asp.net core 项目后,访问不到里面的资源文件(图片等),解决方法如下: 1.检查asp.net core发布文件中的资源文件是不是都放到了wwwroot名称的目录中. 2.检查a ...
- C++笔记002:VS2010报错:LINK fatal error LNK1123 转换到 COFF 期间失败文件无效或损坏
原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 错误描述: 1>------ 已启动生成: 项目: FirstCode, 配置: Debug Win32 ------ 1>生 ...
- MongoDB 连接
启动 MongoDB服务 在前面的教程中,我们已经讨论了如何启动MongoDB服务,你只需要在MongoDB安装目录的bin目录下执行'mongod'即可. 执行启动操作后,mongodb在输出一些必 ...
- 导出和导入Docker容器
导出容器 如果要导出本地某个容器,可以使用 docker export 命令. $ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATU ...
- 干货!Android Studio快捷键VS Eclipse快捷键~亲测!
eclipse as 英文描述 中文描述 ctrl+shift+r ctrl+shift+r Navigate->File 找工作空间的文件 ctrl+shift+t ctrl+shift+t ...
- android 调试工具ADB命令详解
adb是什么? adb的全称为Android Debug Bridge,就是起到调试桥的作用. 通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具. ...
- 六星经典CSAPP-笔记(3)程序的机器级表示
1.前言 IA32机器码以及汇编代码都与原始的C代码有很大不同,因为一些状态对于C程序员来说是隐藏的.例如包含下一条要执行代码的内存位置的程序指针(program counter or PC)以及8个 ...
- Java编程思想阅读收获
15年8月份买了一本Java编程思想第四版中文版.之所以买中文版是因为我试读了同事的英文版发现自己英语水平还是有限,单词虽然认识,但对很多句子把握不准,这样看书太慢了,要理解英文还要理解技术有些hol ...
- FORM开发实现动态LOV
方法一.设置lov的记录组 IF :mat_trx.trx_action_id = 1 THEN set_lov_property('lot_number',group_name,'lot_issue ...