2014-01-09 39 views
0

我的頁面上有一個表單。我想用RequiredFieldValidator & RegularExpressionValidator驗證電子郵件地址。禁用回發時Asp.net按鈕不會導致驗證

這是我的代碼。

<asp:TextBox ID="txtSubscribe" runat="server" CssClass="subscribe-textbox" placeholder="Your e-mail address"></asp:TextBox> 
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="*Not valid e-mail address" ControlToValidate="txtSubscribe" CssClass="subscribe-form-error"></asp:RequiredFieldValidator> 
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="*Not valid e-mail address" ControlToValidate="txtSubscribe" CssClass="subscribe-form-error" ValidationExpression="^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$"></asp:RegularExpressionValidator> 
<asp:Button ID="btnSubscribe" runat="server" Text="" CssClass="subscribe-button" CausesValidation="true" OnClientClick="Subscribe(); return false;" /> 

我想用ajax在客戶端發送郵件地址,並在客戶端獲得結果。我想使用asp正則表達式元素。

當我使用OnClientClick="Subscribe(); return false;"此代碼禁用按鈕回發時,驗證樣本被禁用。

如何禁用按鈕上的回發並使其生效?

回答

0

onbutton客戶點擊確認,一切是正確的,它關係到 服務器端代碼,這裏的代碼的頂部,禁用按鈕和 底部啓動按鈕。

在使用updatepanels之前,我遇到過很多次這個問題。

我發現,如果該字段需要驗證,那麼你必須實際設置CausesValidation="true"元素,它仍然可以使用updatepanels。

希望這可以幫助你!

+0

可以添加一些示例代碼? –

+0

ji inuma working idhula ?? –

0

使用維涅什的回答是:

<asp:Button ID="btnSubscribe" runat="server" Text="" CssClass="subscribe-button" CausesValidation="true" OnClientClick="Subscribe(); return false;" CausesValidation="true" />