我使用Visual 2013创建了一个应用程序,在使用jQuery为隐藏字段分配值时遇到了一些问题。首先,我要向一个隐藏变量分配一个值,因为我不能直接访问.cs文件中标签的文本值,所以我必须将标签的值赋值给隐藏的输入字段,这样我就可以在.cs文件中访问它。我希望这是有意义的。
下面是我在.aspx文件中隐藏的输入字段:
<input type="hidden" id="at" runat="server" />
<input type="hidden" id="wt" runat="server" />
<input type="hidden" id="att" runat="server" />
<input type="hidden" id="wtt" runat="server" />
<input type="hidden" id="gt" runat="server" />
<input type="hidden" id="ah" runat="server" />
<input type="hidden" id="wh" runat="server" />
<input type="hidden" id="th" runat="server" />
<input type="hidden" id="tah" runat="server" />
<input type="hidden" id="twh" runat="server" />以下是每当按下键时运行的函数:
<script src="Scripts/add-bid.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('input[type=text]').keyup(function () {
calculateTotal();
});
});
</script>下面是add-bid.js脚本中的代码,即calculateTotal函数:
$("#at").val("100");
$("#wt").val("200");
$("#att").val("100");
$("#wtt").val("200");
$("#gt").val("600");
$("#th").val("42");我把这里的值硬编码为一个例子。然后,我将检索aspx.cs文件中隐藏字段的值,它们都为null。我在这里做错什么了?任何和所有的帮助都是感激的。
发布于 2014-12-04 16:41:36
如果您从浏览器查看源代码,您可能会发现ID已被丢弃,并被生成的ID替换。runat="server"使它使用自己的命名系统。
使用ClientIDMode="Static",这样它将保留您的原始ID。
例如:
<input type="hidden" id="at" runat="server" ClientIDMode="Static" />参考资料:http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode.aspx
发布于 2014-12-04 16:46:16
尝试以下几点:
$('#<%= at.ClientID %>').val("100");
$('#<%= wt.ClientID %>').val("200");
$('#<%= att.ClientID %>').val("100");
$('#<%= wtt.ClientID %>').val("200");
$('#<%= gt.ClientID %>').val("600");
$('#<%= th.ClientID %>').val("42");https://stackoverflow.com/questions/27299266
复制相似问题