回发后禁用所有提交按钮的最佳方法

时间:2010-11-16 13:33:47

标签: javascript asp.net jquery

我正在尝试编写将禁用页面上的提交按钮(或所有提交按钮)的代码,以避免双重回发。

我想过生成自己的回发javascript函数(并使用GetPostbackEventReference注入回发javascript)但是也许有更好的方法可以做到这一点?或者也许还有其他方法可以避免双重回发?

更新

我还想弄清楚调用javascript的最佳位置,例如如果我在onclick按钮处理程序中调用以下脚本,则按钮的服务器单击事件将不会被连接。

$('input[type=submit]').attr('disabled', 'disabled')

3 个答案:

答案 0 :(得分:4)

http://greatwebguy.com/programming/dom/prevent-double-submit-with-jquery/

这应该可以帮到你

   1. $('form').submit(function(){  
   2.     $(':submit', this).click(function() {  
   3.         return false;  
   4.     });  
   5. });  

答案 1 :(得分:2)

jQuery的:

$('input[type=submit]').attr('disabled', 'disabled')

否则,遍历所有document.getElementByTagName('input')

最好只针对已提交表单的子节点执行此操作吗?

答案 2 :(得分:0)

这个怎么样:

$('input[type=button]').click(function() {
    $('input[type=button]').each(function() {
        $(this).attr('disabled', 'disabled')
    });
});

无论何时单击任何按钮,表单上的每个按钮都将被禁用。