使用js使某个按钮在5秒内不能重复点击
<head>
<!--参考:http://illy.iteye.com/blog/1534276 -->
<!-- http://y.dobit.top/Detail/10.html -->
<!-- http://www.haorooms.com/post/js_setTimeout -->
<!-- http://jun1986.iteye.com/blog/1136389 -->
<script language="javascript">
/*function submitApprove(a0) {
disabledButton();
MyPeriodicalExecuter(evt);
}
function disabledButton(){
var inputs = document.getElementsByTagName("button");
for(var i = 0;i<inputs.length;i++){
if(inputs[i].id.toLowerCase()=="test")
inputs[i].disabled=true;
}
} function MyPeriodicalExecuter(evt){
succ.obj=evt;
succ.loop=0;
sh=setInterval(succ,1000);
} function succ(){
var str="禁止连续点击,"
with(arguments.callee){
obj.value=str+"("+(loop++)+"/15)秒后再试";
if (loop > 5 ){
enabledButton();
obj.value=" 下载 ";
clearInterval(sh);
return;
}
}
} function enabledButton(){
var inputs = document.getElementsByTagName("button");
for(var i = 0;i<inputs.length;i++){
if(inputs[i].id.toLowerCase()=="test")
inputs[i].disabled=false;
} }*/ /*function submitApprove(evt) {
console.log('evt ' + evt);
disabledButton(evt);
console.log('evt execute');
MyPeriodicalExecuter();
//enabledButton(evt);
}
function disabledButton(evt){
//var inputs = document.getElementById(evt);
var text = document.getElementById(evt);
console.log('getElementById');
text.disabled=true;
} function MyPeriodicalExecuter(){
//succ.obj=evt;
succ.loop=0;
console.log('111');
sh=setInterval(succ,1000);
console.log('777');
} function succ(){
console.log('222');
with(arguments.callee){
console.log('333');
console.log('loop = '+loop);
loop++;
//obj.value=str+"("+(loop++)+"/15)retry";
if (loop > 5 ){
console.log('444');
enabledButton();
console.log('555');
//obj.value=" down ";
clearInterval(sh);
console.log('666');
return;
}
}
} function enabledButton(){
console.log('enabledButton evt ');
var text = document.getElementById("newtest1");
console.log('text getElementById newtest1');
text.disabled=false; }*/
function submitApprove(evt) {
console.log('evt ' + evt);
disabledButton(evt);
console.log('evt execute');
MyPeriodicalExecuter();
//enabledButton(evt);
}
function disabledButton(evt){
//var inputs = document.getElementById(evt);
var text = document.getElementById(evt);
console.log('getElementById');
text.disabled=true;
} function MyPeriodicalExecuter(){
succ.loop=0;
console.log('111');
sh=setInterval(succ,1000);
//sh=setTimeout(succ,1000);
console.log('777');
} function succ(){
console.log('222');
with(arguments.callee){
console.log('333');
console.log('loop = '+loop);
loop++;
if (loop > 5 ){
console.log('444');
enabledButton();
console.log('555');
clearInterval(sh);
//clearTimeout(sh);
console.log('666');
return;
}
}
} function enabledButton(){
console.log('enabledButton evt ');
var text = document.getElementById("newtest1");
console.log('text getElementById newtest1');
text.disabled=false;
}
</script> <!--<script language="javascript">function submitApprove(a0){ console.log('aaaa'); window.open('https://www.baidu.com','newwindow')}</script>--> </head> <!--<body class="xg" onload="return _chain('_checkLoad(event)','Linit();',this,event)" onunload="_checkUnload(event)">--> <!--<button id="Test" title="测试" class="x7g" style="background-image:url(/OA_HTML/cabo/images/swan/btn-bg1.gif)" onclick="return _chain('javascript:submitApprove(this);','submitForm(\'DefaultFormName\',1,{\'evtSrcRowIdx\':\'\',\'evtSrcRowId\':\'\',event:\'testJSFunction\',source:\'Test\'});return false;',this,event,true)" type="button">测试</button> -->
<!--<button id="test" title="测试" class="x7g" style="background-image:url(/OA_HTML/cabo/images/swan/btn-bg1.gif)" onclick="return _chain('downLoad(this)','submitForm(\'DefaultFormName\',1,{\'evtSrcRowIdx\':\'\',\'evtSrcRowId\':\'\',event:\'testJSFunction\',source:\'Test\'});return false;',this,event,true)" type="button">测试</button>--> <!--浏览器默认生成的源码-->
<!--<button id="Test" title="测试" class="x7g" style="background-image:url(/OA_HTML/cabo/images/swan/btn-bg1.gif)" onclick="return _chain('javascript:submitApprove(this);','submitForm(\'DefaultFormName\',1,{\'evtSrcRowIdx\':\'\',\'evtSrcRowId\':\'\',event:\'testJSFunction\',source:\'Test\'});return false;',this,event,true)" type="button">测试</button>--> <!--<button id="FinSign" title="财务审核" class="x7g" style="background-image:url(/OA_HTML/cabo/images/swan/btn-bg1.gif)" onclick="javascript:submitApprove(this);submitForm('DefaultFormName',1,{'evtSrcRowIdx':'','evtSrcRowId':'',event:'finSignEvent',source:'FinSign'});return false;" type="button">财务审核</button>--> <!--<button id="testtest" title="测试" class="x7g" style="background-image:url(/OA_HTML/cabo/images/swan/btn-bg1.gif)" onclick="return _chain('javascript:submitApprove(this);','submitForm(\'DefaultFormName\',1,{\'evtSrcRowIdx\':\'\',\'evtSrcRowId\':\'\',event:\'testJSFunction\',source:\'Test\'});return false;',this,event,true)" type="button">测试 ceshi测试啊测试</button>--> <!--<button id="TestSbtn" title="" class="x7g" style="background-image:url(/OA_HTML/cabo/images/swan/btn-bg1.gif)" onclick="return _chain('javascript:submitApprove(this);','submitForm(\'DefaultFormName\',1,{\'_FORM_SUBMIT_BUTTON\':\'TestSbtn\'});return false',this,event,true)" type="submit">TestSbtn</button>--> <button id="test" title="测试" onclick="javascript:submitApprove(this);" type="button">测试</button> <button id="newtest" type="button" onClick="submitApprove(this.id)">newTest</button> <button id="newtest1" type="button" onClick="submitApprove(this.id)">newTest22</button> <input type="button" value="下载" /> </body>
以参数的形式获取elementId而不是直接在代码中写死。
<head>
<!--参考:http://illy.iteye.com/blog/1534276 -->
<!-- http://y.dobit.top/Detail/10.html -->
<!-- http://www.haorooms.com/post/js_setTimeout -->
<!-- http://jun1986.iteye.com/blog/1136389 -->
<script language="javascript"> var buttonId ='buttonId';
function submitApprove(evt) {
console.log('evt ' + evt);
console.log('buttonId ' + buttonId);
buttonId = evt;
console.log('buttonId ' + buttonId);
disabledButton(evt);
console.log('evt execute');
MyPeriodicalExecuter();
//enabledButton(evt);
}
function disabledButton(evt){
//var inputs = document.getElementById(evt);
var text = document.getElementById(evt);
console.log('getElementById');
text.disabled=true;
} function MyPeriodicalExecuter(){
succ.loop=0;
console.log('111');
sh=setInterval(succ,1000);
//sh=setTimeout(succ,1000);
console.log('777');
} function succ(){
console.log('222');
with(arguments.callee){
console.log('333');
console.log('loop = '+loop);
loop++;
if (loop > 5 ){
console.log('444');
enabledButton();
console.log('555');
clearInterval(sh);
//clearTimeout(sh);
console.log('666');
return;
}
}
} function enabledButton(){
console.log('enabledButton evt ');
console.log('enabledButton buttonId ' + buttonId);
var text = document.getElementById(buttonId);
text.disabled=false;
}
</script> </head> <button id="test" title="测试" onclick="javascript:submitApprove(this);" type="button">测试</button> <button id="newtest" type="button" onClick="submitApprove(this.id)">newTest</button> <button id="newtest1" type="button" onClick="submitApprove(this.id)">newTest22</button> <input type="button" value="下载" /> </body>
使用js使某个按钮在5秒内不能重复点击的更多相关文章
- OAF 使用 javascript 使某个按钮在5秒内不能重复点击
首先要保证按钮是BUTTON,并且按钮事件设置firePartialAction. public class CuxXXXXPGCO extends OAControllerImpl { public ...
- 限制 button 在 3 秒内不可重复点击
在下载或者上传文件过程中避免重复点击带来的多次同样的请求造成资源浪费,限制 button 的点击次数是很有必要的. 1. 增强用户体验,2. 减轻服务器压力. HTML 代码 <button i ...
- js 实现控制点击事件在特定的毫秒内 只允许点击一次(防止重复点击)
代码 第一种方法 var forbidRepeartClick = (function(){ var instance = null; var canClick = true; function Bu ...
- VS2010 使用时选择代码或双击时出错,点击窗口按钮后VS自动重启问题
VS2010 使用时选择代码或双击时出错崩溃,点击窗口按钮后VS自动重启问题 下载补丁,打上补丁之后,重启电脑,解决了问题. WindowsXP的下载地址:Windows XP 更新程序 (KB971 ...
- JS实现倒计时(天数,时,分,秒)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" > <titl ...
- 【转载】vue.js实现格式化时间并每秒更新显示功能示例
引用:https://www.jb51.net/article/143351.htm 这篇文章主要介绍了vue.js实现格式化时间并每秒更新显示功能,结合实例形式分析了vue.js时间格式化显示与基于 ...
- js使浏览器窗口最大化(适用于IE的方法)
这里使用的方法是IE的私有特性,只能在IE中有效.主要是window.moveTo和 window.resizeTo方法. 效果和点击最大化按钮差不多,有一点区别.点击最大化按钮后,浏览器 ...
- Jquery插件实现点击获取验证码后60秒内禁止重新获取
通过jquery.cookie.js插件可以快速实现“点击获取验证码后60秒内禁止重新获取(防刷新)”的功能 先到官网(http://plugins.jquery.com/cookie/ )下载coo ...
- 安装Intel HAXM为Android 模拟器加速,30秒内启动完成
要求 必备知识 windows 7 基本操作. 运行环境 windows 7(64位); Android Studio 1.1.0;JDK 1.7.0_75(64位);android-sdk_r24 ...
随机推荐
- NSEnumerator
NSEnumerator 基本理解 NSEnumerator是一个抽象类,它没有用来创建实例的公共接口.而NSArray,NSDictionary,NSSet可以通过相关方法返回一个实例 可以使用它的 ...
- JAVA基础学习day25--Socket基础二-多线程
一.上传图片 1.1.示例 /* 上传图片 */ import java.net.*; import java.io.*; import java.util.*; import java.text.* ...
- iOS--页面间的代理传值(属性、代理(委托)、代码块、单例、通知)
(一)属性传值 (二)代理(委托)传值 代理传值 适用于 反向传值 (从后往前传) 1.1 创建协议 及协议方法 在反向传值的页面(SecondViewController)中 1.2 创建协议类型的 ...
- 正确使用 Volatile 变量——Brian Goetz
本文转自:http://www.ibm.com/developerworks/cn/java/j-jtp06197.html 由Java并发大师Brian Goetz所撰写的. Java 语言中的 v ...
- SQL获取时间段内的所有月份
select convert(varchar(7),dateadd(month,number,'2010-01-01'),120) AS MONTHfrom master..spt_valueswhe ...
- linux编译安装MySQL
最近就想搞搞hadoop,然后装个MySQL,测试一下那个sqoop. MySQL这种东西,既然是开放源码的,那就源码安装吧. 下面是我的测试环境说明: VMware10+Ubuntu14.04 Ky ...
- 【原】基于 HAproxy 1.6.3 Keeplived 在 Centos 7 中实现mysql mariadb galera cluster 集群分发读写 —— 上篇
前言 有一段时间没有写blogs,乘着周末开始整理下haproxy + keeplived 实现 mysql mariadb galera cluster 集群访问环境的搭建工作. 本文集中讲hapr ...
- 对Jena的简单理解和一个例子
本文简单介绍Jena(Jena 2.4),使用Protégé 3.1(不是最新版本)创建一个简单的生物(Creature)本体,然后参照Jena文档中的一个例子对本体进行简单的处理,输出本体中的Cla ...
- 10_放置街灯(Placing Lampposts,UVa 10859)
问题来源:刘汝佳<算法竞赛入门经典--训练指南> P70 例题30: 问题描述:有给你一个n个点m条边(m<n<=1000)的无向无环图,在尽量少的节点上放灯,使得所有边都被照 ...
- jiulianhuan 快速幂--矩阵快速幂
题目信息: 1471: Jiulianhuan 时间限制: 1 Sec 内存限制: 128 MB 提交: 95 解决: 22 题目描述 For each data set in the input ...