有一个关于引用一个问题
<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" />