Javascript 中设置的隐藏字段值即使在页面刷新后仍保留
Hidden field value set from Javascript retains even after page refresh
我面临一个非常奇怪的问题。
我有一个隐藏字段,如下所示。
<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
非常简单的代码。因此,在第一个 运行 中, 警报显示为 "abcd",因为我是从服务器端设置的。好吧..没关系。
然后我所做的是使用 jquery 从控制台更改隐藏字段值,如下所示
$('#hid_test').val('12');
在我点击 F5(页面重新加载)时进行此更改后,显然我的服务器端代码命中并且隐藏字段值应更改为 abcd
但是当页面加载时,警报会显示 12 本身。意味着它保留从客户端设置的值。任何帮助表示赞赏。正在 Firefox 中测试。
我禁用了 FF 表单填写功能如下
默认情况下,Firefox 使用以前的值自动填充表单。如果关闭该功能,您应该不会看到该行为。 This question and its answers 似乎表明在 HTML 中没有简单的方法可以告诉 Firefox 不要这样做;相反,那里的答案侧重于在 load/unload 上使用 JavaScript 来设置字段值(例如,在加载时覆盖 Firefox 自动填充的内容;在卸载时鼓励 Firefox 记住页面作者想要的值记住了)。
添加 autocomplete="off"
标签。
我面临一个非常奇怪的问题。 我有一个隐藏字段,如下所示。
<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
非常简单的代码。因此,在第一个 运行 中, 警报显示为 "abcd",因为我是从服务器端设置的。好吧..没关系。
然后我所做的是使用 jquery 从控制台更改隐藏字段值,如下所示
$('#hid_test').val('12');
在我点击 F5(页面重新加载)时进行此更改后,显然我的服务器端代码命中并且隐藏字段值应更改为 abcd
但是当页面加载时,警报会显示 12 本身。意味着它保留从客户端设置的值。任何帮助表示赞赏。正在 Firefox 中测试。
我禁用了 FF 表单填写功能如下
默认情况下,Firefox 使用以前的值自动填充表单。如果关闭该功能,您应该不会看到该行为。 This question and its answers 似乎表明在 HTML 中没有简单的方法可以告诉 Firefox 不要这样做;相反,那里的答案侧重于在 load/unload 上使用 JavaScript 来设置字段值(例如,在加载时覆盖 Firefox 自动填充的内容;在卸载时鼓励 Firefox 记住页面作者想要的值记住了)。
添加 autocomplete="off"
标签。