0

摘要:如果下拉菜单未做出选择,我正在尝试设置错误消息。

细节:

这是我的 dd 调用 javascript 函数:

<%:Html.DropDownListFor(r => Model.TypeId, TypeItems, new { @class="stretchInput", @onblur = "errorCheck"})%>

这是我的javascript:

<script type="text/javascript">
    $(document).on("blur", "select[name=TypeId]",
        function errorCheck() {
            var errId = 'Type not chosen. Please choose from the menu.';
            if (document.getElementById('TypeId').selectedIndex == 0) {
                document.getElementById("DetailsError").visibility = 'visible';
                document.getElementById("DetailsError").innerHTML = errId;
            }
        });
</script>

这是我要更改其值的标签:

<td><asp:Label ID="DetailsError" runat="server" CssClass="errorMsg" Text="testing" Visible="false"></asp:Label></td>

顺便说一句,我知道这是一个 ASP 控件。我已经尝试过HTML label并得到相同的结果。

我正在尝试使用我的错误消息设置标签的文本。看来我所做的任何事情都不会以任何方式影响标签。

我错过了什么?

4

1 回答 1

2

如果您只需要使用标签来显示来自 JavaScript 的错误消息,即控件没有服务器端相关性,您可以使用<span id="DetailsError">.

或者

您可以<%=DetailsError.ClientID%>在 HTML/JS 代码中您想使用的任何地方使用DetailsError

例如:

document.getElementById("<%=DetailsError.ClientID%>").innerHTML = errId;

请以此为起点,而不是作为复制粘贴解决方案。

于 2013-07-03T18:15:14.330 回答