1

在使用 asp:hiddenfields 时我很困惑。

这是我的代码:

<asp:HiddenField ID ="CurrentAnswer" runat="server" Value="-1" />

并在该html页面中加载的js文件中:

$(document).ready(function () {
    alert(document.getElementById("<%= CurrentAnswer.ClientID %>"));
});

此值返回 null。如果我把它放到同一个 asp webform 中,但不是放在单独的 js 文件中,它会起作用。我几乎在我查看的每个页面上都看到了这一点。例如这里。我不知道为什么这不起作用。有什么想法吗?

4

2 回答 2

4

如果要将 javascript 保存在单独的 js 文件中,则需要使用静态(或可预测)作为 ID。

<asp:HiddenField ID="CurrentAnswer" runat="server" Value="-1" 
   ClientIDMode="Static" />

单独的 JavaScript 文件

$(document).ready(function () {
    alert($("#CurrentAnswer").val());
});
于 2013-10-11T16:37:55.690 回答
0

如果 CurrentAnswer ID 不是动态的,您可以这样做:

$(document).ready(function () {
    alert(document.getElementById("CurrentAnswer"));
});

当然,这会给你一个对象,所以你可以调用 .val() 来获取它的值。

于 2013-10-11T16:15:56.093 回答