我有一个 asp.net 表单,其中包含一个下拉列表,该下拉列表在更改时发回服务器,并用一些日期填充第二个下拉列表。
该表单还包含其他字段,其中一些是经过验证的客户端和一些服务器端。
这是我遇到的问题。如果我收到客户端验证错误,然后尝试更改下拉列表,则不会填充第二个下拉列表。如果我再次更改第一个下拉列表,它会按预期工作。
这是我的提交按钮:
<asp:Button ID="btnSubmit" Text="Submit" runat="server" OnClientClick="Page_ClientValidate(); return checkPassengers();" OnClick="Page_Transfer" ValidationGroup="FormSubmit" />
这是我的客户端验证:
function checkPassengers() {
if($("#testField").val() == "Name *" || $("#testField").val() == "") {
$("#pltester").prepend("<p class='fillall'>Please fill in all fields marked with *</p>");
return false;
}
};
下拉菜单:
<asp:UpdatePanel ID="UpdatePanel1" runat="server" >
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddl1st" EventName="SelectedIndexChanged" />
</Triggers>
<ContentTemplate>
<asp:DropDownList ID="ddl1st" Width="190" AutoPostBack="true" OnSelectedIndexChanged="ChooseDates1st" runat="server" />
<asp:DropDownList ID="ddlDepart1st" AutoPostBack="true" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>