使用ASP.NET向导模板中的jQuery提交按钮禁用

使用ASP.NET向导模板中的jQuery提交按钮禁用,jquery,asp.net,onsubmit,aspwizard,Jquery,Asp.net,Onsubmit,Aspwizard,我有一个ASP.NET Web表单应用程序,它使用向导模板控件 在我的向导中有四个页面(表单),我想使用jQuery来禁用最后一页上的提交按钮(其他页面上的按钮只是下一页和上一页的按钮),我想这样做是为了防止用户在按钮上单击更多次,导致表单被多次提交 “问题”是无法将ID分配给提交按钮,因为它们是自动生成的(我明确要求不要修改此行为) 我尝试了这个jQuery,但它不起作用: $('#form1').submit(function () { $(this).children('i

我有一个ASP.NET Web表单应用程序,它使用向导模板控件

在我的向导中有四个页面(表单),我想使用jQuery来禁用最后一页上的提交按钮(其他页面上的按钮只是下一页和上一页的按钮),我想这样做是为了防止用户在按钮上单击更多次,导致表单被多次提交

“问题”是无法将ID分配给提交按钮,因为它们是自动生成的(我明确要求不要修改此行为)

我尝试了这个jQuery,但它不起作用:

$('#form1').submit(function () {
        $(this).children('input[type=submit]').attr('disabled', 'disabled');
    });
其中
form1
是包装向导的表单的id。有人可以帮忙吗

  • 选择器中缺少#before
    form1

  • 您尚未定义
    e

  • return false将执行一个默认值,两者都不需要

  • 编辑:

    将按钮上的CssClass属性设置为
    submitbutton

    $('.submitbutton').click(function(){
        $(this).prop('disabled', true);
    });
    
    或者在你的例子中,我想这样的事情会起作用

    $(this).find(':submit').prop('disabled', true);
    

    我找到了解决办法。这不是一个整洁的解决方案,但当您处理ASP.NET Web表单提供的凌乱控件时,大多数情况下,变通方法是唯一可能的解决方案

    第一步是禁用“完成”按钮的自动生成,然后在向导底部附加:

    <FinishNavigationTemplate>
            <table cellpadding="3" cellspacing="3">
             <tr>
                <td>
                   <asp:Button ID="btnPrevious" runat="server" Text="Previous"
                               CausesValidation="false" 
                               CommandName="MovePrevious"
                               CssClass="buttonStyle"/>
                </td>
                <td>
                   <asp:Button ID="btnFinish" runat="server" Text="Finish"
                               onClientClick="this.disabled = true; this.value =  'Submitting...';  
                               this.className = 'buttonStyleDisabled';"   
                               UseSubmitBehavior="false"  
                               CausesValidation="true" 
                               CommandName="MoveComplete"
                               CssClass="buttonStyle"/>
                </td>  
              </tr>
            </table>
    </FinishNavigationTemplate>
    
    
    
    更新:


    要删除自动生成的“完成”按钮,只需从向导中删除
    标记即可

    谢谢。请参阅代码的更新。它不是这样工作的either@CiccioMiami为什么不在按钮上的单击事件中处理它?我将用一个例子来更新我在JSFIDLE中实现了您的解决方案,看一看@CiccioMiami由于某些原因,该道具在提交按钮上不起作用。什么都不要试……这让我头疼得厉害,我试过小提琴手、萤火虫、探长……什么都不要试