【发布时间】:2015-05-01 07:28:33
【问题描述】:
我面临一个非常奇怪的问题。 我有一个隐藏字段,如下所示。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="http://code.jquery.com/jquery-1.9.0.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:HiddenField ID="hid_test" ClientIDMode="Static" runat='server' />
</div>
</form>
<script language="javascript" type="text/javascript">
$(function () {
alert($('#hid_test').val());
});
</script>
</body>
</html>
并且在服务器端我为隐藏字段设置一个值,如下所示
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
hid_test.Value = "abcd"
End If
End Sub
非常简单的代码。所以在第一次运行时,alert 显示为“abcd”,因为我是从服务器端设置的。好的。。没关系。
然后我所做的是我使用 jquery 从控制台更改隐藏字段值,如下所示
$('#hid_test').val('12');
当我点击 F5(页面重新加载)时,显然我的服务器端代码命中并且隐藏字段值应该更改为 abcd
但是当页面加载时,警报本身会显示 12。意味着它保持从客户端设置的值。任何帮助表示赞赏。正在 Firefox 中测试。
我禁用了 FF 表单填写功能,如下所示
【问题讨论】:
标签: javascript jquery asp.net firefox