现场填充<;选择>;点击javascript:history.go(-1)按钮后的元素
我为一个问题挣扎了一段时间 我有一个元素具有以下默认状态:现场填充<;选择>;点击javascript:history.go(-1)按钮后的元素,javascript,html,ajax,jquery,Javascript,Html,Ajax,Jquery,我为一个问题挣扎了一段时间 我有一个元素具有以下默认状态: <select name="model"></select> 有一个挂接的实时事件,它使用选项填充上述元素: <select name="model"> <option value=""></option> <option value="Gemini">Gemini</option> <option value="Pi
<select name="model"></select>
有一个挂接的实时事件,它使用选项填充上述元素:
<select name="model">
<option value=""></option>
<option value="Gemini">Gemini</option>
<option value="Piazza">Piazza</option>
<option value="Pickup">Pickup</option>
</select>
双子座
广场
改善
然后是一个SerializeObject函数,它将表单key-val对转换为json并将其发送到PHP控制器
之后,结果将使用ajax显示在页面上。
当用户点击结果时,他将被发送到详细页面,该页面顶部有一个“后退”按钮。这是后退按钮:
<a href="javascript:history.go(-1);">Back</a>
当用户单击它时,他进入上一个结果页面。除“模型”元素外,每个选择元素都正确填充了预期数据。我认为原因在于它的内容是通过ajax请求和.html()
覆盖生成的
我做了一个跨浏览器检查:不适用于Chrome36,不适用于IE9,也不适用于Firefox30
忘了提到:我有标题(“缓存控制:私有”)代码>已激活
我希望有人能提出解决办法。提前谢谢 听起来您当前的实现可能会因浏览器/版本而异。我想用一些东西让这更容易
填充select元素时,将使用的数据保存到当前历史状态对象中。然后,当浏览器状态更改时,从新索引处当前处于“历史状态”的数据中重新加载选项。使用cookies存储最后的值。检查Cookie是否已设置,并根据需要填充字段。然后,在单击按钮时使用窗口位置重新加载,或者手动导航到所需的url,而不是内联javascript后退按钮。现在,当他们使用按钮时,应该正确填充字段。这是一个更复杂的解决方案,但它是正确的解决方案,伊姆霍