我正在尝试验证下拉列表的当前值,并检查它是否在单击按钮时选择了其中一个选项。如果没有,我的目标是出现一个 JS 提示,要求用户选择一些东西。我的下拉代码如下所示:
<asp:DropDownList ID="TBDrop" runat="server" AppendDataBoundItems="true" DataValueField="id" Width="155px">
<asp:ListItem Text="---Select---" Value="0" />
<asp:ListItem Text="YES" Value="1" />
<asp:ListItem Text="NO" Value="2" />
</asp:DropDownList>
我的js脚本是:
function validate_dropdown1() {
var dropdown = document.getElementById('ctl00_ContentMasterID_TBDrop');
if (dropdown.selectedIndex == 0) {
alert("Please select from list");
return false;
} else {
document.getElementById('ctl00_ContentMasterID_tagComplete').onclick("tagComplete_Click");
return true;
}
}
我的按钮是这样的:
<asp:Button ID="tagComplete" runat="server" Height="23px" OnClick="tagComplete_Click" Text="Complete" OnClientClick="validate_dropdown1();" />
我的问题是,在没有选择的情况下,会出现 js 提示,但仍然会在我不打算这样做的 onclick 标记事件 (OnClick="tagComplete_Click") 上进行。我已经尝试过,如您在上面看到的那样使用
} else {
document.getElementById('ctl00_ContentMasterID_tagComplete').onclick("tagComplete_Click");
return true;
}
但这会导致内存不足错误提示。我应该如何使用 JS 验证,以便如果用户在下拉菜单中选择默认文本之外的内容,它将在服务器端脚本上继续,否则保持在当前页面上