我的.aspx页中有一个带有正确ID的控件。但是在函数中调用它时,它表示未定义。
控制:
{"arr": ["One", "two"]}
功能:
<div class="form-group" runat="server" id="divResult" visible="false">
<label class="control-label col-md-1">Result</label>
<div class="col-md-11">
<p class="form-control-static">
<asp:Literal runat="server" ID="litCount">0</asp:Literal>
</p>
</div>
</div>
更新:
通过以下方法检索到divResult,它是function showMsg() {
hidePleaseWait();
if (xhr && xhr.readystate !== 4) {
xhr.onreadystatechange = null;
xhr.abort();
callBackend();
}
var hidListFolder = document.getElementById('hidListFolder');
hidListFolder.value = "";
$("#btnGenerate").button('reset');
document.getElementById('btnGenerate').disabled = true;
divResult.Visible = false; <-- error
divGenerated.Visible = false;
}
null
答案 0 :(得分:1)
解决方案1
当您使用runat =“ Server”并在浏览器上呈现服务器端控件时,其ID或名称已更改,因此,如果您想通过js中的ID进行访问,请使用
var textbox = document.getElementById('<%= divResult.ClientID %>');
解决方案2
如果您不想更改JS代码,请使用ClientIDMode="Static"
更改下面特定控件的ID和名称
<div class="form-group" runat="server" id="divResult" ClientIDMode="Static" visible="false">
答案 1 :(得分:-2)
通过以下方式获取divResult
元素:
var divResult = document.querySelector("#divResult");