不依賴於外部框架,您可以利用ASP.Net客戶端驗證框架來處理擴展/高級功能。通過這種方式,您正在使用框架,增強它而不是替換它。
JavaScript的一小部分就是啓用所需行爲所需的一切。
<asp:TextBox CssClass="mf" runat="server" ID="mail1" Width="270" OnChange="showValidationImage();" />
<asp:RequiredFieldValidator ID="rfv1"
runat="server"
ControlToValidate="mail1" ClientIDMode="Static"
Display="Dynamic" >
<img src="../Image/fail.jpg" />
</asp:RequiredFieldValidator>
<img id="imgPass" src="../Image/pass.jpg" style="visibility:hidden" />
<script language="javascript">
// This function will be called whenever the textbox changes
// and effectively hide or show the image based on the state of
// the client side validation.
function showValidationImage() {
if (typeof (Page_Validators) == "undefined") return;
// isvalid is a property that is part of the ASP.Net
// client side validation framework
imgPass.style.visibility = rfv1.isvalid ? "visible" : "hidden";
}
</script>
<br />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" />
注意這裏我使用ASP.Net 4的功能,以的ClientIDMode =「靜」,如果你不使用.NET 4中,那麼你就需要使用標準的<%= rfv1.ClientID %>
服務器端包括獲得在您的腳本中的客戶端ID。
JavaScript禁用時不能有這樣的客戶端效果 – citronas 2010-08-06 14:54:32
好的,但我怎樣才能使它啓用JavaScript和asp.net驗證器?或者是不可能的,或者是一個純JavaScript解決方案推薦? – 2010-08-06 15:16:50