![](/img/trans.png)
[英]ASP.NET Validators - is there a way to call a function in client side when validation ends?!
[英]How to call JavaScript function when ASP.Net validators succeed?
我有一個帶有 ASP.Net 控件和驗證器的網絡表單,它們設置為一個組。 我正在嘗試執行一些僅在驗證器成功時才會發生的 JavaScript,以防止用戶在未完成要求的情況下進入表單的下一步。
但是,我似乎無法讓它正常工作。 JavaScript 要么在未完成驗證的情況下執行,要么 JavaScript 在驗證成功時不會執行。 我暗暗懷疑這是由於 HTML Required="true"
標簽和 ASP.Net 驗證器的行為不同所致。
ASP網
<asp:TextBox ID="EmailAddress" runat="server" TextMode="Email" Required="true" ValidationGroup="Group1" />
<asp:TextBox ID="Password1" runat="server" TextMode="Password" Required="true" ValidationGroup="Group1" />
<asp:RegularExpressionValidator ID="valPassword" runat="server" ControlToValidate="Password1"
ErrorMessage="Your password doesn't meet the strength requirements"
ValidationExpression="^(?=.*\d)(?=.*[a-z])(?=.*[/W_].*)(?=.*[A-Z]).{8,255}"
ValidationGroup="Group1" ></asp:RegularExpressionValidator>
<asp:TextBox ID="Password2" runat="server" TextMode="Password" Required="true" ValidationGroup="Group1"
/>
<asp:CompareValidator runat="server" ControlToCompare="Password1" ControlToValidate="Password2"
ErrorMessage="Your entered passwords do not match." ValidationGroup="Group1" />
<asp:Button ID="btnNext" runat="server" Text=">" OnClientClick="pgNext();" ValidationGroup="Group1" />
JavaScript
function pgNext() {
if (Page_ClientValidate("Group1")) {
$('.register-page1').css('display', 'none');
$('.register-page2').css('display', 'block');
} else {
}
}
調用您的頁面驗證器,然后檢查頁面是否有效,最后調用您的 js function。在您的按鈕單擊事件中:
Page.Validate("validationGroupNameHere");
if(Page.IsValid)
{
// click code here
//then call your js function
Page.RegisterStartupScript(Page, Page.GetType(), "callMe", " jsFunctionNameHere();", true);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.