Dot-Net

如果選中復選框,如何使文本框成為必需

  • July 5, 2018

如果選中復選框,如何使文本框成為必需?

我想我可以編寫一個自定義驗證器,但我希望避免在可能的情況下返回完整的文章來檢查驗證……我在想 AJAX 為這種情況內置了一些東西,但我一直找不到它。我認為直接使用 JavaScript 也是一種解決方案,但如果這是最好的方法,我可以先行一步。

處理這個問題的 JavaScript 並不是很困難。

給定以下 ASP 控制項:

<asp:TextBox ID="txtSubject" runat="server" />
<asp:CheckBox ID="chkSubjectRequired" runat="server" OnClick="updateValidator();" />
<asp:RequiredFieldValidator ID="rfvSubject" ControlToValidate="txtSubject" ErrorMessage="You must enter a subject." runat="server" />

添加以下 JavaScript 函式:

<script language="javascript" type="text/javascript">
   function updateValidator() {
       var enableValidator = !event.srcElement.status;
       var rfvSubject = document.getElementById('rfvSubject');
       ValidatorEnable(rfvSubject, enableValidator);
   }
</script>

這裡的所有都是它的。您還需要將以下程式碼添加到您的頁面載入事件中,這樣如果使用者禁用了 JavaScript,您的必填欄位驗證器仍會正確打開或關閉:

rfvSubject.Enabled = chkSubjectRequired.Checked

引用自:https://stackoverflow.com/questions/2132837