我搜索和搜索,没有找到任何解释我需要什么。jquery/ajax - 禁用任何形式的提交按钮3秒后点击
我有一个webscript,有几十个表格到处都是。我需要在任何表单上单击提交后禁用提交按钮3秒,无论表单的id,类或操作如何。
我发现下面的代码:
$('#btn').click(function(){
var btn = $(this);
$.post('http://someurl.com',{delay: 3}).complete(function(){
btn.prop('disabled', false);
});
btn.prop('disabled', true);
});
但这需要有形式BTN的ID,它似乎需要的形式被“贴”到了一些网页。
有没有一种方法可以在所有形式上实现这一点,不管正在执行的动作是什么?因此,如果它是一个注册表单,它会禁用“加入”按钮3秒钟,如果它的评论表单在提交评论后同样禁用3秒提交,......基本上不管我想要的表单或动作是什么点击后禁用提交按钮3秒钟。
这甚至可能吗?
我已经尝试将“#btn”的所有实例更改为“输入”,但这似乎不起作用。我对这件事情并不是很高兴,但似乎在别人的帮助下让事情陷于磕磕绊绊。
我的问题不是其他问题的重复是因为我特别声明“不管表单的id,类或行为如何”。在另一个问题上提出的解决方案没有具体解决这个问题。添加身份证,班级或类似物,因为各种原因(其社交网络脚本),数百和数百个表单上的web脚本不是一种遥远的可能性。我标记为正确的解决方案是不需要将任何属性添加到html元素的解决方案。 。
重复这篇文章:http://stackoverflow.com/questions/10932766/disable-the-submit-button-after-clicking-and-enable-it-back-again-after-a-few-se – Sherlock
我解释了为什么它不是现在重复:) – Bruce