JQuery Mobile:如何回到之前使用过的表单?

时间:2014-05-27 05:31:44

标签: jquery-mobile

以下是设置:
/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后退按钮,但用户输入仍然消失,所以我想我必须为此实现其他功能。

1 个答案:

答案 0 :(得分:0)

不要误会我的意思,但你需要花一些时间阅读官方文档,这样你就可以找到jQuery Mobile页面处理的工作方式。但不要害怕我会向你解释一切。

使用jQuery Mobile时,您可以使用两种页面模板。第一个使用一个 HTML 文件,其中包含多个页面,第二个文件包含多个 HTML 文件,其中每个 HTML 文件都在一个页面内。当我说页面时,我指的是 data-role =“page”

只有第一个文件已完全加载到 DOM 中,除非您刷新页面,否则它将始终保留在那里(如果您使用的是Phonegap,则无法进行此操作)。后续的 HTML 页面只会在活动时保留在 DOM 中,只要您打开另一个 HTML 文件,jQuery Mobile就会删除上一页来自 DOM 的( HTML 文件)。这样做是为了防止 DOM 中存在大量内存。

你可以通过两种方式解决这个问题:

  1. 将所有必要的页面放在第一个初始HTML文件中,它们将始终保留在DOM中。详细了解 here
  2. 打开页面兑现,现金需求页面并防止它们被删除。