我正在使用下面的javascript来读取客户端的asp.net控件的值。但是,它始终返回空值。我在我的网站的其他页面上使用类似的代码,但现在我无法阅读这个特定的控件。无论如何我都可以建议我解决这个问题。
<asp:Label ID="srch_data" runat="server" ClientIDMode="Static" ></asp:Label>
var srch_data = document.getElementById("<%= srch_data.ClientID %>");
alert(srch_data);
答案 0 :(得分:0)
尝试使用单引号:
var srch_data = document.getElementById('<%= srch_data.ClientID %>').value;
答案 1 :(得分:0)
试试这个
var srch_data =document.getElementById('srch_data').innerHTML;
ASP.Net Label在渲染后变为跨度,而不是找到JS无法识别的标签更好找
答案 2 :(得分:0)
将defer属性添加到脚本元素中。我测试过,它有效。 尝试类似下面的内容 -
<%--defer indicates the script to be run after the document is completely parsed.--%>
<script type="text/javascript" language="javascript" defer="true">
var label = document.getElementById("<%= srch_data.ClientID %>");
alert("label : " + label);
</script>
<asp:Label ID="srch_data" runat="server" ClientIDMode="Static"></asp:Label>
这可以解决您的问题。