我有一個asp.net表單,其中包含一個下拉列表,該列表在發佈更改時發佈回服務器,並用某些日期填充第二個下拉列表。asp.net postback在客戶端驗證後阻止
該表單還包含其他字段,其中一些經過驗證的客戶端和某些服務器端。
這是我遇到的問題。如果我得到客戶端驗證錯誤,請嘗試更改下拉列表,第二個下拉列表不會填充。如果我再次更改第一個下拉列表,它會按預期工作。
這裏是我的提交按鈕:
<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>
下拉確實需要進行驗證,這樣將無法正常工作 – Tom 2012-04-20 11:24:40