使用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 ...
随机推荐
- iOS开发之网络编程--1、AFNetwork 3.x 的所有开发中常用基础介绍
前言:第三方网络请求框架中AFNetwork 3.x收欢迎程度相当高的: 由于iOS 7 和 Mac OS X 10.9 Mavericks 中一个显著的变化就是对 Foundation URL 加载 ...
- Sencha Cmd是什么
Sencha Cmd的简介 ~~~~~~~~~~~~~~~~~~~~~~~ Sencha cmd 是一个跨平台的命令行工具,它从你应用程序的新创建到部署入产品中的整个生命周期都提供了许多自动化的执行任 ...
- 解决win2003/2008下注册机或破解补丁程序无法运行问题
win Server 2003/2008 64位系统均遇到注册机或破解补丁程序无法运行或报错或死机的情况,原因是win系统默认开启了文件数据执行保护导致的. (比如3DMax的破解补丁程序等...) ...
- Jmeter之HTTP Request Defaults
一.HTTP Request Defaults的作用: 该组件可以为我们的http请求设置默认的值.假如,我们创建一个测试计划有很多个请求且都是发送到相同的server,这时我们只需添加一个Http ...
- 读书笔记——Windows环境下32位汇编语言程序设计(6)使用浮点指令进行64位除法
罗云彬 典藏版Page192,mark下. 这段代码看不懂,手册上根本没有fdivr不带操作数的指令. .data dqTickCounter1 dq ? dqTickCounter2 dq ? dq ...
- 修改Tomcat服务器的端口号
关键技术: Connector子元素下的port是设置服务器端口,而connection Timeout则是服务器连接超时单位为毫秒. 操作过程: (1)采用记事本打开Tomcat安装目录下的conf ...
- 在MVC3中使用code first生成数据局库并操作数据库
1.建立Users和UserInfos两个实体类 对应的是数据库中的表 public class User { //类名+Id(User+Id)组成的字符串在数据库表中会设置该字段是主键且是按1的增量 ...
- Swift学习笔记--变量与常量
1.Swift是一门强类型语言,不能为变量赋予其自身数据类型之外的值: 2.声明变量使用var关键字,声明常量使用let关键字: 3.声明变量或常量时没有对其指定类型且赋予了初值,则编译器会自动推断常 ...
- 使用O_APPEND标志打开文件对文件进行lseek后进行读写的问题
fd = open("./newfile", O_RDWR|O_CREAT|O_APPEND, S_IRUSR|S_IWUSR); ) { perror("open&qu ...
- uva133-S.B.S.
The Dole Queue In a serious attempt to downsize (reduce) the dole queue, The New National Green Lab ...