有一个关于引用一个问题

 <asp:HiddenField ID="editcheck" runat="server"/>


来自JS函数。
函数被击中,因为

var e = document.getElementById('<%=editcheck.ClientID%>');


行中的功能。

有任何想法吗?

谢谢

ps:
 这是引发异常的实际行。

 if(e.value == "true")
     return confirm("yadayad");


错误状态值不能在空对象或接近对象上检查。这就是为什么我要问JS函数看到该元素的原因。

最佳答案

我猜想您在HiddenField呈现给浏览器之前调用了脚本。

您可以确保在HiddenField之后调用脚本吗?

<asp:HiddenField ID="editcheck" runat="server"/>

document.getElementById('<%=editcheck.ClientID%>');


或者,您可以使用jQuery,如果您必须使用DOM进行操作,它会容易得多。以下脚本与将HiddenField放置在页面中的位置无关。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
    $(function () {
        if ($("#<%= editcheck.ClientID %>").val() === "true") {
            return confirm("yadayad");
        }
    });
</script>
<asp:HiddenField ID="editcheck" runat="server" />

10-07 21:00