使用ASP.NET向导模板中的jQuery提交按钮禁用
我有一个ASP.NET Web表单应用程序,它使用向导模板控件 在我的向导中有四个页面(表单),我想使用jQuery来禁用最后一页上的提交按钮(其他页面上的按钮只是下一页和上一页的按钮),我想这样做是为了防止用户在按钮上单击更多次,导致表单被多次提交 “问题”是无法将ID分配给提交按钮,因为它们是自动生成的(我明确要求不要修改此行为) 我尝试了这个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
$('#form1').submit(function () {
$(this).children('input[type=submit]').attr('disabled', 'disabled');
});
其中form1
是包装向导的表单的id。有人可以帮忙吗
form1
e
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由于某些原因,该道具在提交按钮上不起作用。什么都不要试……这让我头疼得厉害,我试过小提琴手、萤火虫、探长……什么都不要试