我有一系列ASP.Net RequiredFieldValidators,它們和它們的關聯控件一起,獲得隱藏的客戶端 - 它們被封裝在一個div中,我使用jQuery的.toggle()隱藏/顯示DIV根據需要:當ControlToValidate在客戶端不可見時禁用RequiredFieldValidator
<div id="reference" style="display: none">
<asp:TextBox runat="Server" id="txt"></asp:TextBox>
<asp:RequiredFieldValidator runat="Server" id="rfv" ControlToValidate="txt"></asp:RequiredFieldValidator>
</div>
(簡化的)
撥動DIV關閉加 「顯示:無」 的樣式,如所預期。 RequiredFieldValidator仍然會作爲,雖然隱藏起來,但它仍然在頁面中處於活動狀態。我需要禁用客戶端不可見的驗證器。
使用jQuery,我怎麼能找到所有的控件進行驗證/驗證器有父母div與「顯示:無」,並禁用它們?
感謝
儘管我的代碼似乎確實會導致驗證器立即觸發/驗證!? –
嗯... ValidatorEnable()似乎調用ValidatorValidate()。 –
更新我的代碼塊,使用.enabled代替對ValidatorEnabled()的調用。它現在按預期工作。 –