変更時にサーバーにポストバックし、2番目のドロップダウンリストにいくつかの日付を入力するドロップダウンリストを含むasp.netフォームがあります。
フォームには他のフィールドも含まれており、その一部はクライアント側とサーバー側で検証されています。
これが私が抱えている問題です。クライアント側の検証エラーが発生した後、ドロップダウンリストを変更しようとすると、2番目のドロップダウンにデータが入力されません。その後、最初のドロップダウンリストを再度変更すると、期待どおりに機能します。
これが私の送信ボタンです:
<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>