使用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 ...
随机推荐
- hive升级遇到的几个小问题
1.hiveserver2正常启动,但是beeline连不上服务. 我的服务是开在本机的,但是用主机名和127好像都不能访问服务了 jdbc:hive2://172.19.1.11:10000> ...
- cannot open file "cxcore.lib"
运行例子程序的时候总是出现连接错误:LINK : fatal error LNK1104: cannot open file "cxcore.lib". 在VC选项里把C:\Pro ...
- CentOS 7下GitLab搭建及配置
由于公司业务,需要上Git版本控制. * 目前市面上比较有名的Git服务提供商,国外有GitHub.BitBucket.GitLab,国内有码云,Coding. * 现有的服务商,对于免费的套餐都有一 ...
- Oracle中备份用户对象的两种方法
方法1: 执行步骤: exp userid=用户名/密码@数据库名 file=c:\emp.dmp 使用当前用户导出 exp userid=sys/sys@数据库名 file=c:\emp.dmp o ...
- Java 零散笔记
运算符: 整数被0除将会产生一个异常,而浮点数被0除会得到无穷大或NaN结果. 二元运算符: 如果运算符得到一个值,其类型与左侧操作数的类型不用,就会发生强制类型转换. int x = 0; x += ...
- CountDownLatch使用
分享牛原创,CountDownLatch类的使用,CountDownLatch是一个工具类,运行主线程开启子线程的时候,子线程还没有结束的时候,主线程可以一直等待,直到初始化的现成的计数器count为 ...
- Pycharm中进行Python远程开发
http://blog.csdn.net/pipisorry/article/details/52269952 PyCharm提供两种远程调试(Remote Debugging)的方式: 配置远 ...
- 从操作系统内核看Java非阻塞IO事件检测
非阻塞服务器模型最重要的一个特点是,在调用读取或写入接口后立即返回,而不会进入阻塞状态.在探讨单线程非阻塞IO模型前必须要先了解非阻塞情况下Socket事件的检测机制,因为对于非阻塞模式最重要的事情是 ...
- 【问题汇总】ScrollView嵌套GridView的问题
在开发中遇到了ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当它们碰到一起的时候便会出问题,即GridView会显示不全. 解决办法,自定义一个GridView控件. [ ...
- mac os X下的updatedb
unix或linux下使用locate指令在其数据库中查询文件,使用updatedb可以 更新locate的数据库.而在mac os X下却找不到updated这个程序.使用 man locate查看 ...