【发布时间】:2012-09-10 13:17:17
【问题描述】:
这是我的 ASP.NET 页面的一部分。
<asp:DropDownList ID="DropDownList1" runat="server"
OnChange="return ListChange(this.value)"
onselectedindexchanged="DropDownList1_SelectedIndexChanged1"
AutoPostBack="True" >
<asp:ListItem Selected="True">Today</asp:ListItem>
<asp:ListItem>Yesterday</asp:ListItem>
<asp:ListItem Value="1">Specific Day</asp:ListItem>
<asp:ListItem>All Time</asp:ListItem>
</asp:DropDownList>
<asp:TextBox ID="txtDate" runat="server"></asp:TextBox>
这里是 Javascript。
function ListChange(txtVal) {
if (txtVal != 1 ) {
document.getElementById("txtDate").setAttribute("style", "visibility:hidden;");
return true;
}
else {
document.getElementById("txtDate").setAttribute("style", "visibility:visible;");
return false;
}
}
这里的目的是根据用户选择的选项显示某些数据。在特定日期选项中,会向用户显示一个文本框以通过 javascript 插入日期。但是也会引发onselectedindexchanged 事件,该事件调用服务器。我想在选择“特定日期”选项时停止事件,但在选择其他选项时运行。
OnChange="return ListChange(this.value)" 上的代码不会像使用带按钮的表单时那样停止事件。
【问题讨论】:
-
理想情况下它应该可以工作,您是否尝试将其更改为类似 onchange="Javascript:return ListChange(this.value);"
-
停止所有选项的事件:/
标签: c# javascript asp.net events html-select