Javascript jQuery:发布实时事件、表单和后退按钮
我构建了一个相当复杂的小部件,其中包含“某种 形式”。它有一个表单标签,但我通过 Ajax等无法详细解释,代码太长,无法理解 贴在这里 现在,在我用于其中一个表单字段的“live('click',function()”中, 我正在将几个值写入另一种形式的隐藏字段中。 这很好,因为我可以在生成的代码中看到它们 离开页面,然后点击后退按钮,值就消失了 如果我在live之外的字段中写入一些值,请单击 尽管功能强大,但当我离开页面来到时,它们仍然存在 使用后退按钮返回 但我需要将这些值写入live的隐藏字段中 单击函数(我正在将表单字段中的值插入到 他们) 我不知道是什么原因导致了这一点,也没有找到解决办法 (尽管我试了很多) 有什么想法吗Javascript jQuery:发布实时事件、表单和后退按钮,javascript,jquery,forms,live,back-button,Javascript,Jquery,Forms,Live,Back Button,我构建了一个相当复杂的小部件,其中包含“某种 形式”。它有一个表单标签,但我通过 Ajax等无法详细解释,代码太长,无法理解 贴在这里 现在,在我用于其中一个表单字段的“live('click',function()”中, 我正在将几个值写入另一种形式的隐藏字段中。 这很好,因为我可以在生成的代码中看到它们 离开页面,然后点击后退按钮,值就消失了 如果我在live之外的字段中写入一些值,请单击 尽管功能强大,但当我离开页面来到时,它们仍然存在 使用后退按钮返回 但我需要将这些值写入live的隐藏
谢谢!看看jquery历史插件()通常情况下,浏览器会记住您在表单中输入的内容(即使您没有提交表单),这样当您点击“后退”按钮时,它会为您填充所有可见字段 隐藏字段似乎不是这样,但有一个解决办法 每次更改一个隐藏字段时,您都可以将#部分添加到url(例如www.mysite.com/users#userId、groupId等) 当再次加载页面时(例如通过后退按钮),页面将包含#部分。将其作为字符串进行解析,以确定如何填充隐藏字段并填充它们
查看jQuery的历史插件,了解如何读取#部分。
使用CSS隐藏输入,而不是输入类型
<input type="text" id="foo" name="foo" style="display: none;" />
而不是
<input type="hidden" id="foo" name="foo" />
我在同一个问题上绊倒了,这似乎解决了它。
嘿,伙计们,非常感谢你的回答。我没有考虑使用历史插件,因为这些例子只处理了你可以在一个AJAX页面中拥有的ISSE。但是我会看一下哈希部分。BTW:我不认为隐藏的字段是这里的问题。如前所述,当我从live click函数外部将这些值写入字段时,浏览器似乎记住了这些值。但由于范围限制,我无法从外部访问此函数的变量。