在函数定义全局变量..var Stch=false
if (Stch==true)
{
alert('请不要重新提交');
}else{
Stch=true;
$.ajax({type:"POST",
url:"C_Eidt.do",
golobal:false,
success:function(data){
Stch=false;
};});
}

或者 使html页面上按钮变灰

2..多次绑定click及ajax提交的常用方法

<script>
$(document).ready(function()
{
//绑定click
$(".exchange_ecv").bind("click", function()
{
var p=$(this).attr("name");
var types=$(this).attr("type");
var tid=$(this).next().attr("id");
if(types=="0"){
var m=100000;
}else if(types=="1"){
var m=500000;
}else if(types=="2"){
var m=1000000;
}
document.getElementById('lightqd').style.display='block';
document.getElementById('fade').style.display='block';
//第二次绑定click 会出现多次click现象
$("#qd").bind("click",function()
{
exchange_ecv(p,tid,m,types);
document.getElementById('lightqd').style.display='none';
document.getElementById('fade').style.display='none';
$("#qd").unbind("click"); //去除多次click
});
}); //ajax提交
function exchange_ecv(p,tid,m,types){
var query = new Object();
if({$user_id}>0){
query.id={$user_id};
query.prize=p;
query.types=types;
}else{
document.getElementById('light').style.display='none';
document.getElementById('fade').style.display='none'
ajax_login();
return false;
} $.ajax({
async:false,
url:'{url x="index" r="new_year_prize#exchange_ecv"}',
type:"POST",
data:query,
dataType:"json",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
success:function(result){
if(result.status==2){//还没登录
ajax_login();
return false;
}else if(result.status==1){ //兑换成功
$("#msg").html(result.msg);
}else if(result.status==3){ //已经兑换过
$("#msg").html(result.msg);
}else{ //其它状态
$("#msg").html(result.msg);
}
}
}); } //拆红包
$("#open_ecv").click(function()
{
open_ecv();
});
function open_ecv()
{
var query =new Object();
if({$user_id}>0){
query.id={$user_id};
}else{
ajax_login();
return false;
}
$.ajax({
async:false,
url:'{url x="index" r="new_year_prize#open_ecv"}',
type:"POST",
data:query,
dataType:"json",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
success:function(result)
{
if(result.status==2)
{
ajax_login();
return false;
}else if(result.status==1)
{
// $.showSuccess(result.msg);
document.getElementById('light').style.display='block';
document.getElementById('fade').style.display='block'
$("#msg").html(result.msg);
}else
{
// $.showErr(result.msg)
document.getElementById('light').style.display='block';
document.getElementById('fade').style.display='block'
$("#msg").html(result.msg);
}
} });
} }) </script> 没人说点击事件只能执行一次。两种办法,一是把on改成one,使得点击提交事件只发生一次;二是点击之后把按钮button禁用(disabled属性),或者移除button上绑定的事件(off方法)。

jq阻止ajax进行多次提交的更多相关文章

  1. 【jQuery】 JQ和AJAX

    AJAX AJAX全称异步 JavaScript 和 XML(Asynchronous JavaScript and XML),是一种用于网页前端和网站后台进行数据交互的手段.关于AJAX的详细介绍在 ...

  2. 关于jQ的Ajax操作

    jQ的Ajax操作 什么是AJAX AJAX = 异步的javascript和XML(Asynchronous Javascript and XML) 它不是一门编程语言,而是利用JavaScript ...

  3. jq的ajax方法

    相较与js异步对象的繁琐,jq的ajax对象结构更加清晰 一:ajax对象简述 ajax(Asynchronous JavaScript and XML),异步的xml和js对象,主要用于在不刷新全局 ...

  4. jq使用ajax请求,返回状态 canceled错误

    在使用jq,ajax请求时出现该错误 原因:button按钮类型为type=submit ,script中又自定用botton按钮点击提交ajax,造成冲突. 解决方法:button按钮类型改为 ty ...

  5. ajax的表单提交,与传送数据

    ajax的表单提交 $.ajax ({ url: "<%=basePath%>resource/addPortDetectOne.action", dataType: ...

  6. 2016 系统设计第一期 (档案一)jQuery ajax serialize()方法form提交数据

    jQuery ajax serialize()方法form提交数据,有个很奇怪的问题,好像不能取到隐藏控件的值. //点击提交按钮保存数据 $('#btn_submitUser').click(fun ...

  7. ajax form表单提交 input file中的文件

    ajax form表单提交 input file中的文件 现今的主流浏览器由于ajax提交form表单无法把文件类型数据提交到后台,供后台处理,可是开发中由于某些原因又不得不用ajax提交文件, 为了 ...

  8. 阻止form空表单提交----JavaScript

    网上看到很不错的阻止form空表单提交 第一种方法 <div class="warp"> <h2>登录到pfan空间</h2> <p> ...

  9. js jq输入框中按回车触发提交事件,用户在页面输入后按回车(Enter键)进行

    js jq输入框中按回车触发提交事件,用户在页面输入后按回车(Enter键)进行 代码如下: <!DOCTYPE html> <html lang="en" xm ...

随机推荐

  1. 一、基础知识 React API 一览

    1.10 Hooks 参考文章:https://juejin.im/post/5be3ea136fb9a049f9121014 demo: /** * 必须要react和react-dom 16.7以 ...

  2. Win10 应用商店管理应用

    在企业日常办公中,对 Windows 10 应用商店软件不需要,希望办公系统干净一些.企业运维中,我们可以使用组策略来管理Windows 10 微软Store应用程序.可以根据组织的要求进行配置,多项 ...

  3. 在vue-cli中使用路由

    1.首先npm中是否有vue-router 一般在vue-cli的时候就已经下载好了依赖包了 2.使用vue的话正常的需要涉及这几个文件 demo/src/router/index.js import ...

  4. Java的几种加载驱动的方法

    1.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 2.DriverManager.registerD ...

  5. ubuntu openstack windows 镜像制作

    openstack  windows 镜像制作 首先下载windows所需要的驱动,virtio-win-1.1.16.vfd virtio-win-0.1-59.iso 下载的官方地址是: http ...

  6. java Vamei快速教程17 多线程

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 多线程 多线程(multiple thread)是计算机实现多任务并行处理的一种方 ...

  7. Android(java)学习笔记99:Java虚拟机和Dalvik虚拟机的区别

    Google于2007年底正式发布了Android SDK, 作为 Android系统的重要特性,Dalvik虚拟机也第一次进入了人们的视野.它对内存的高效使用,和在低速CPU上表现出的高性能,确实令 ...

  8. 机器学习_线性回归和逻辑回归_案例实战:Python实现逻辑回归与梯度下降策略_项目实战:使用逻辑回归判断信用卡欺诈检测

    线性回归: 注:为偏置项,这一项的x的值假设为[1,1,1,1,1....] 注:为使似然函数越大,则需要最小二乘法函数越小越好 线性回归中为什么选用平方和作为误差函数?假设模型结果与测量值 误差满足 ...

  9. python_76_json与pickle反序列化2

    import pickle def say(name):#序列化时用完会释放,要想反序列化,要重新写上该函数,否则会出错 print('我的高中:', name)#可以和之前的序列化函数不同 f=op ...

  10. python_71_json序列化1

    #序列化:序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程. #本例把字典数据类型存成字符串存在硬盘 #文件只能存字符串和二进制码,字典之类的不可以 info={ ...