我的页面上有一个包含三个步骤的 asp 向导。
<asp:Wizard ID="wizardBestellen" runat="server" ActiveStepIndex="0" DisplaySideBar="False" onfinishbuttonclick="wizard_NextButtonClick" onnextbuttonclick="wizard_NextButtonClick" onpreviousbuttonclick="wizard_PreviousButtonClick">
<StartNavigationTemplate></StartNavigationTemplate>
<StepNavigationTemplate></StepNavigationTemplate>
<FinishNavigationTemplate></FinishNavigationTemplate>
<WizardSteps>
<asp:WizardStep runat="server" ID="step1" StepType="Start">
<uc1:control ID="uc1" runat="server" />
</asp:WizardStep>
<asp:WizardStep runat="server"ID="step2" StepType="Step">
<uc2:control ID="uc2" runat="server" />
</asp:WizardStep>
<asp:WizardStep ID="step3" runat="server" StepType="Finish">
<uc3:control ID="uc3" runat="server" />
</asp:WizardStep>
</WizardSteps>
</asp:Wizard>
现在每个控件都有一个下一个和一个上一个按钮,单击后会验证您的数据并将您发送到下一步。按钮都看起来像:
<asp:LinkButton ID="bntPrevious" runat="server" CommandName="MovePrevious" CssClass="buttonOrange" CausesValidation="false"><span>Previous</span></asp:LinkButton>
<asp:LinkButton ID="btnNext" runat="server" CommandName="MoveNext" CssClass="buttonOrange" CausesValidation="true"><span>Next</span></asp:LinkButton>
到目前为止,一切都很完美。现在我想在点击按钮后禁用按钮并显示一个带有加载器图像的 div。所以我创建了一个名为的 divdivLoader
和一个 javascript 函数,它隐藏了按钮所在的 div 并使用加载器显示 div。
function ToggleDiv(divButton, divLabel)
{
if (divButton.style.display == 'block')
{
divButton.style.display = 'none';
divLabel.style.display = 'block';
}
else
{
divButton.style.display = 'block';
divLabel.style.display = 'none';
}
}
但我不能让它工作。ToggleDiv 函数在另一种情况下效果很好,所以这不是问题。我尝试从链接按钮中的 OnClick 属性调用该函数,但这给了我一个错误。我尝试了 OnClientClick,但这不起作用,我还尝试在后面的代码中设置 onclick 属性,这也是死路一条。
任何人都可以向我解释我做错了什么还是有另一种方法可以防止用户点击按钮两次?