Because jQuery knows nothing about asp:HiddenField. It looks in the HTML structure where you have <input type="hidden" name="ctl00$cph_main$HiddenFieldServerDateTime" id="ctl00_cph_main_HiddenFieldServerDateTime" .... So there’s no input with ID= HiddenFieldServerDateTime. There are a few ways to overcome this:
-
Use a css selector:<asp:HiddenField ID="HiddenFieldServerDateTime" runat="server" CssClass="SomeStyle" />with the following selector:
var serverDateTime = $(".SomeStyle").val();CssClassis not an available class on theHiddenFieldclass (and it doesn’t have anAttributescollection, so you can’t add it manually). -
Use
ClientIDproperty:var serverDateTime = $("#<%= HiddenFieldServerDateTime.ClientID %>").val(); -
Wrap the hidden field in something you can select:
<div class="date-time-wrap"> <asp:HiddenField ID="..." runat="server" /> </div>var serverDateTime = $('.date-time-wrap input[type=hidden]').val();