1

我已经构建了一个非常复杂的小部件,其中包含“某种形式”。它有一个表单标签,但我通过 Ajax 等加载了很多东西。无法详细解释,代码太长,无法粘贴到这里。

现在,在我用于其中一个表单字段的“live('click', function()”中,我正在将几个值写入另一个表单的隐藏字段。效果很好,因为我可以在生成的代码。但是如果我离开页面然后点击后退按钮,值就消失了。

如果我在实时点击功能之外的那些字段中写入一些值,当我离开页面并使用返回按钮返回时,它们仍然存在。

但是我需要将值写入实时点击功能之外的隐藏字段(我将表单字段中的值插入其中)。

我不知道是什么原因造成的,也找不到解决方法(尽管我尝试了很多)。

有任何想法吗?

谢谢!

4

3 回答 3

0

看看 jquery 历史插件(http://plugins.jquery.com/project/history

于 2009-08-13T19:49:21.923 回答
0

通常情况下,浏览器会记住您在表单中输入的内容(即使您没有提交),因此当您点击返回按钮时,它会为您填充所有可见字段。

似乎隐藏字段并非如此。不过有一个解决方法。

每次更改隐藏字段之一时,您都可以将#part 添加到您的 url(例如 www.mysite.com/users#userId,groupId,...)。

当页面再次加载时(例如通过后退按钮),它将包含#part。将其解析为字符串以确定如何填充隐藏字段并填充它们。

查看 jQuery 的历史插件以了解如何阅读#part。
http://plugins.jquery.com/files/jquery.history.js_0.txt

于 2009-08-13T19:50:03.590 回答
0

使用 CSS 隐藏输入而不是输入类型。

<input type="text" id="foo" name="foo" style="display: none;" />

代替

<input type="hidden" id="foo" name="foo" />

我绊倒了同样的问题,这似乎解决了它。

于 2012-01-04T18:49:37.420 回答