我有一個下拉列表,哪些值來自數據庫。有一個選項名稱OTHER,當我選擇其他文本框時出現。對於那個文本框我做了一個必需的字段驗證器。直到這裏它工作正常。但是當我選擇其他選項時,它仍然會給我驗證錯誤。它不應該發生。它應該只給我必填字段錯誤,當用戶沒有選擇其他選項填充文本框。請參閱代碼。下拉列表文本框所需的字段驗證器錯誤
下拉列表和文本框代碼: -
<asp:DropDownList ID="ddlGraduation" runat="server" CssClass="txtfld-popup_drp"></asp:DropDownList>
<asp:RequiredFieldValidator CssClass="error_msg" ID="reqGraduation" runat="server" ControlToValidate="ddlGraduation" ErrorMessage="Please select graduation details" InitialValue="--Select--" SetFocusOnError="true"></asp:RequiredFieldValidator>
<asp:TextBox ID="txtOther" runat="server" CssClass="txtfld-popup_p"></asp:TextBox>
<asp:RequiredFieldValidator ID="reqOther" runat="server" ControlToValidate="txtOther" ErrorMessage="Please specify your qualification"></asp:RequiredFieldValidator>
隱蔽JS代碼,並顯示文本時,用戶選擇和取消選擇從下拉列表中的其他選項: -
<script type="text/javascript">
function pageLoad() {
$('#ctl00_ContentPlaceHolder1_txtOther').hide();
$('#ctl00_ContentPlaceHolder1_ddlGraduation').change(function() {
if ($(this).val() === "Other") {
$('#ctl00_ContentPlaceHolder1_txtOther').show();
// $("#ctl00_ContentPlaceHolder1_ddlGraduation").hide();
} else {
$('#ctl00_ContentPlaceHolder1_txtOther').hide();
}
});
你應該禁用的RequiredFieldValidator爲隱藏控制。 [如何不觸發在隱藏字段(TextBox)的RequiredFieldValidator]](http://stackoverflow.com/questions/5710342/how-not-to-trigger-requiredfieldvalidator-on-hidden-field-textbox)? – pinowthebird