使用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 ...
随机推荐
- 二叉查找树(binary search tree)详解
二叉查找树(Binary Search Tree),也称二叉排序树(binary sorted tree),是指一棵空树或者具有下列性质的二叉树: 若任意节点的左子树不空,则左子树上所有结点的值均小于 ...
- STL--集和多集(set/multiset)
与基本容器相比,关联容器更注重快速和高效地检索数据的能力.这些容器是根据键值(key)来检索数据的,键可以是值也可以是容器中的某一成员.这一类中的成员在初始化后都是按一定顺序排好序的. 本文地址:ht ...
- iOS闹钟实现
UILocalNotification *notification=[[UILocalNotification alloc] init]; if (notification!=nil) ...
- 明明已经执行Log.i,偏偏打不出日志
Android内打日志用的当然是Log.i(tag,string),调试时的日志输出可以很快的反映一些问题,方便我们跟进. 但是如果连日志都打不出来了怎么办呢,我今天就遇到了比较坑的问题.项目里别的日 ...
- git proxy
git config --global http.proxy http://127.0.0.1:1080 git config --global https.proxy https://127.0.0 ...
- iOS设计模式 - 单例
备注:只能通过类的类方法才能创建单例类的实例,[[类名 alloc]init]创建实例没有用的. 原理图 说明 1. 单例模式人人用过,严格的单例模式很少有人用过 2. 严格的单例模式指的是无法通过常 ...
- 烂泥:【解决】ubuntu使用远程NFS报错
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 今天在ubuntu系统上使用远程NFS,发现一直报错无法使用. 查看NFS挂载命令没有错误,命令如下: mount -t nfs 192.168.1.1 ...
- 17110 Divisible(basic)
17110 Divisible 时间限制:1000MS 内存限制:65535K 题型: 编程题 语言: 无限制 Description Given n + m integers, I1,I2,. ...
- Azure 自动化里添加ResourceManager模块
最近想尝试通过Azure里的自动化功能来控制VM的定时开关机,找到网上的一篇文章, 按照文章操作到"Import Azure Resource manager module"的第 ...
- memcpy函数
实现1:<高质量c++,c编程指南> void *mymemcpy(void *dst,const void *src,size_t num) { assert((dst!=NULL)&a ...