Jquery 回发前禁用提交按钮

Jquery 回发前禁用提交按钮,jquery,asp.net,submit,postback,Jquery,Asp.net,Submit,Postback,我想在回发之前禁用页面上的所有提交按钮。发现3个(稍微)不同的代码示例,但在我的场景中没有一个是有效的 <script src="js/jquery-1.6.1.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(new function () { //debugger; // 1

我想在回发之前禁用页面上的所有提交按钮。发现3个(稍微)不同的代码示例,但在我的场景中没有一个是有效的

<script src="js/jquery-1.6.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(new function () {
        //debugger;

        // 1
        $('#form1').one('submit', function () {
            alert('.one');
            $(this).find('input[type="submit"]').attr('disabled', 'disabled');
        });

        // 2
        $("#form1").submit(function () {
            alert('.submit1');
            $('input[type=submit]').click(function () { return false; });
        });

        // 3
        $("#form1").submit(function () {
            alert('.submit2');
            $('input[type=submit]').click(false);
        });
    });
</script>

在某种程度上,您可以按照下面的说明进行操作

您可以再添加一个显示为“无”的按钮。在visible button javascript click事件中,可以禁用此按钮并调用隐藏按钮的单击(document.getElementById('btnhiden').click()

单击可见按钮时需要执行的实际代码进入隐藏按钮的事件处理程序

更新:

我没有设想更大的情况。。如果应用范围广,您可能需要考虑这个…

对于ClientClick上的按钮,您可以分配此功能

function disableButton(btnID)
{
     setTimeout(function(){document.getElementById(btnID).style.background = "disabled.jpg";}, 10);
     document.getElementById(btnID).disabled = true;
     return true;
}
“disabled.jpg”是一个可以分配给background的背景,它使按钮具有禁用的外观


这样,您可以随时为用户提供禁用的外观;但这是一个非常短的时间,这样表单就已经发布到服务器了。

您的事件永远不会被分配到您的
表单。
您需要更改:

$(document).ready(new function () {
                  ^^^
致:


如果更改,提交函数将正常工作。

我认为您的第一个示例不起作用,因为您使用的是旧版本的jQuery。但是你想做什么呢?点击提交按钮后,是否要禁用提交按钮?@putvande yes。为了避免在回发过程中重新提交。事实上,它没有到达
警报
,但您是否同时在代码中使用所有3个示例?我认为第一个(
$(“#form1”).one('submit'…
)会给你一个错误,对吗?一次使用一个。没有错误。什么都不会发生。即使它没有到达警报。事实上,它没有到达
警报
,尽管你的解决方法可能有效。但是,我想使用母版页和jQuery在应用程序范围内实现它。
$('input[type="submit"]').attr('disabled', 'disabled');
return false;
function disableButton(btnID)
{
     setTimeout(function(){document.getElementById(btnID).style.background = "disabled.jpg";}, 10);
     document.getElementById(btnID).disabled = true;
     return true;
}
$(document).ready(new function () {
                  ^^^
$(document).ready(function () {