2012-05-17 58 views
0

我有客戶端的JavaScript代碼。我需要根據一些選項禁用一些驗證器。 我做的水木清華這樣的:如何在客戶端javascriptCode中獲取驗證器ClientID?

.ascx文件

<asp:RangeValidator runat="server" ID="RangeValidator1" Text="*" ... /> 

的.js代碼

var validator = $get('<%=RangeValidator1.ClientID %>'); 
ValidatorEnable(validator, false); 

但是變量驗證總是空。爲什麼?

thanx提前

+0

RangeValidator呈現爲客戶端?該ID可能沒有多大意義。該控件不會直接轉換爲客戶端HTML元素。 – David

+1

嘗試使用document.getElementById('<%= RangeValidator1.ClientID%>') –

回答

0

驗證器不顯示爲對照。因此你不能以這種方式訪問​​它。驗證器將被轉換爲一些JS代碼時提供:)

0

有一個不錯的文章here,提供了一個乾淨的方式在您的jQuery/JavaScript使用服務器端的ID。我曾經使用過它。我記得它需要調整才能正確使用它。

如果我記得好,'#'不會被放到可下載代碼中的選擇器中。

0

驗證器位於Page_Validators陣列中。在瀏覽器中檢查源代碼。你應該看到每個驗證器創建並添加到這個數組在javascript塊中。

有關更多信息,請參閱ASP.NET Validation in Depth

相關問題