在Javascript函数中未定义控件

时间:2019-07-18 07:14:19

标签: javascript asp.net

我的.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>

enter image description here


更新: 通过以下方法检索到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

2 个答案:

答案 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");