使用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 ...
随机推荐
- MyBatis入门(四)---动态SQL
一.创建数据库表 1.1.创建表 USE `mybatis`; /*Table structure for table `user` */ DROP TABLE IF EXISTS `user`; C ...
- c语言中的部分字符串和字符函数
// // main.c // homeWork1230 // // #include <stdio.h> #include <string.h> #include <c ...
- 【iOS开发】UIWebView与JavaScript(JS) 回调交互
------------------------------------------------- 很多关于objc 与 js 交互的文章都比较适用于 mac开发,iOS的webview 还是有所不一 ...
- JDK8 API文档(下载)
DK API文档 java SE 8 API文档: http://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downl ...
- androidannotation study(1)---Activity, Fragment,Custom Class & Custom View
androidannotation 是github上的一个开源项目. 主要是注解机制,可以改善android写代码的效率. Activity 使用 1.@EActivity 注解 可想而知,servi ...
- linux NFS服务器安装与配置 思路
一,nfs服务优缺点 NFS 是Network File System的缩写,即网络文件系统,可以让不同的客户端挂载使用同一个目录,作为共享存储使用,这样可以保证不同的节点客户端数据一致性,在集群架构 ...
- C# 3个线程A B C 依次打印123123123..
C#经典面试题: 有3个线程,A线程打印1,B线程打印2,C线程打印3,请用程序实现依次打印123123123... class Program { static void Main(string[] ...
- 烂泥:KVM使用裸设备配置虚拟机
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 何谓裸设备?百度百科显示: 裸设备(raw device),也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊块设备文件 ...
- javascript将DOM事件处理程序封装为event.js 出现的低级错误记录
将 DOM 0级事件处理程序和DOM2级事件处理程序 IE事件处理程序封装为eventUtil对象,达到跨浏览器的效果.代码如下: var eventUtil = { // 添加事件句柄 addEve ...
- C#删除文件和文件夹到回收站
首先对项目添加名为Microsoft.VisualBasic.dll的引用,然后添加命名空间using Microsoft.VisualBasic.FileIO;usingSystem;namespa ...