使用的WebForms,我怎么能有一个按钮,这是残疾人,被点击后,才,也验证后已经过去了?
我知道有: 禁用asp.net按钮点击之后,以防止双击
不过,也有我的网页上其他回传,最后按下按钮这证实了之前预订的,我需要这些就可以了。
这只是最后按下按钮,我需要确保通过了验证,但只允许一个压榨,被禁用了。
代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
FinalButton.Attributes.Add("onclientclick", "if(Page_ClientValidate('vg')){this.disabled = true; }");
}
}
protected void Button1_Click(object sender, EventArgs e)
{
TextBox1.Text = "Hi";
}
protected void Button3_Click(object sender, EventArgs e)
{
TextBox1.Text = "";
}
ASPX页面:
<p>
<asp:TextBox ID="TextBox1" runat="server" ValidationGroup="vg"></asp:TextBox>
</p>
<p>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Set TextBox1 to Hi" />
<asp:Button ID="Button3" runat="server" OnClick="Button3_Click" Text="Set TextBox1 to Empty" />
</p>
<p>
<asp:Button ID="FinalButton" runat="server" Text="Final Submit" ValidationGroup="vg" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="RequiredFieldValidator" ValidationGroup="vg"></asp:RequiredFieldValidator>
</p>
因此,除非将文本框填充,“FinalButton”不应该提交(这部分作品)。 然而,如果填充了文本框,那么它应该被禁用,以避免重复点击,回发前 - 但它并没有禁止,所以我在这里假设我的代码,是不正确的:
FinalButton.Attributes.Add("onclientclick", "if(Page_ClientValidate('vg')){this.disabled = true; }");
当它在网页上呈现的源,展示该按钮:
<input type="submit" name="ctl00$MainContent$FinalButton" value="Final Submit" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$MainContent$FinalButton", "", true, "vg", "", false, false))" id="MainContent_FinalButton" onclientclick="if(Page_ClientValidate('vg')){this.disabled = true; }" />
谢谢,
标记