以下是设置:
/sampleForm/index.html 有#Form1Form 部分
/entity/index.html 有 #SearchForm 部分
/search/index.html 有 #SearchResults 部分
这是意图:
用户想要在sampleForm / index.html上填充字段(基于搜索)
所以用户点击一个按钮,实体/ index.html由AJAX加载
用户输入搜索条件并单击按钮
发生一点Ajax-PHP,结果保存到sessionStorage
然后搜索/ index.html由Ajax加载,并呈现结果
每行结果都有一个“插入后退”按钮。
这是问题所在:
当用户点击“插入后退”时,目的是返回#Form1Form
但没有任何反应。
此时,为了排除故障,我试图在控制台上手动运行'$ .mobile.changePage(“#Form1Form”)'并得到一个未识别的
虽然手动运行'$ .mobile.changePage(“../ sampleForm /”)'会成功,但它会丢失以前的输入。
(注1:我希望返回#Form1Form ,以便在开始搜索之前保留所有输入...)
(注2:我正在编写search / index.html,因为我希望将其重新用于任何其他类似的任务..)
关于什么是错的任何建议?
有没有更好的方法来做我想要实现的目标?
是否可以重新加载已经在DOM中的部分?
编辑:我试图运行$ .mobile.back();在控制台上,甚至使用了data-rel后退按钮,但用户输入仍然消失,所以我想我必须为此实现其他功能。
答案 0 :(得分:0)
不要误会我的意思,但你需要花一些时间阅读官方文档,这样你就可以找到jQuery Mobile页面处理的工作方式。但不要害怕我会向你解释一切。
使用jQuery Mobile时,您可以使用两种页面模板。第一个使用一个 HTML 文件,其中包含多个页面,第二个文件包含多个 HTML 文件,其中每个 HTML 文件都在一个页面内。当我说页面时,我指的是 data-role =“page”。
只有第一个文件已完全加载到 DOM 中,除非您刷新页面,否则它将始终保留在那里(如果您使用的是Phonegap,则无法进行此操作)。后续的 HTML 页面只会在活动时保留在 DOM 中,只要您打开另一个 HTML 文件,jQuery Mobile就会删除上一页来自 DOM 的( HTML 文件)。这样做是为了防止 DOM 中存在大量内存。
你可以通过两种方式解决这个问题: