【发布时间】:2014-07-16 17:38:08
【问题描述】:
我有一个下拉列表,当我选择 OPTION 值时,会出现一个文本框。问题是,当我直接提交所需的提交错误时,我会为下拉和文本框提供消息。它应该只给出下拉错误。一旦我从下拉列表中选择选项,它就会直接给我文本框的错误消息。当我不在文本框中输入任何值并直接提交表单时,它应该给我。我尝试了代码,但它没有按要求工作。请看下面的代码:
用于下拉列表和文本框的 HTML
<asp:DropDownList ID="ddlGraduation" runat="server" CssClass="txtfld-popup_drp1"></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_p1" Style="display: none;"></asp:TextBox>
<asp:RequiredFieldValidator ID="reqOther" runat="server" ControlToValidate="txtOther" ErrorMessage="Please specify your qualification" Enabled="false"></asp:RequiredFieldValidator>
另外,请参阅处理文本框可见性和触发必填字段的 javascript 代码:-
<script type="text/javascript">
$(document).ready(function () {
$("select[id*=ctl00_ContentPlaceHolder1_ddlGraduation]").change(function () {
if ($('#ctl00_ContentPlaceHolder1_ddlGraduation').val() == 'Other') {
$("[id*=ctl00_ContentPlaceHolder1_txtOther]").show();
var valEmail = $("[id*=reqOther]");
ValidatorEnable(valEmail[0],true);
}
else {
var valEmail = $("[id*=reqOther]");
ValidatorEnable(valEmail[0],
false);
$("[id*=ctl00_ContentPlaceHolder1_txtOther]").hide();
}
});
});
请帮忙
【问题讨论】:
标签: javascript html asp.net