控制硬件后退按钮jquery mobile

时间:2012-10-12 13:06:45

标签: jquery-mobile

我已经浏览了以下链接,我的情况与此类似。

Disable hardware back function jquery mobile

情况:正在测试的设备:Samsung S3

页面A:带名称的ListView(A1,A2,A3) 页面B:由表单,提交和取消按钮组成。

用户填写表单并单击“提交”按钮。他的数据上传到服务器。页面已更新,并显示确认对话框,表明数据已上载到服务器。

现在问题到了。

现在,当用户点击硬件返回按钮时,他再次被重定向到页面B,他再次能够提交表格(我们不需要,因为表格只需填写一次)。

有没有什么方法可以控制硬件后退按钮,以便在页面B上显示页面A.

Nirmal的以下答案似乎有答案,但我不知道如何实施 -

  

没有真正的方法可以禁用硬件后退按钮   黑莓或Android。

     

您可以做的是维护一个失效的会话变量   在你的后台处理程序中并检查该会话变量   检查页面的pagebeforeshow事件。

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:2)

使用cookies。无论何时处理表单,都要向用户的cookie添加值,并在表单页面上检查该cookie值是否存在。如果只是向用户显示一条消息,表明数据已经提交或将用户重定向到主页面。

答案 1 :(得分:1)

您应该能够使用javascript捕获硬件后退按钮点击事件。

$(document).bind('keydown', function(event) {
  if (event.keyCode == 27) {
    // Prevent default (disable the back button behavior)
    event.preventDefault();

    // Your code to show another page or whatever...
  }
});

答案 2 :(得分:1)

我所做的是在登录后包含登录表单和用户指向的页面,在两页(多页容器)的同一html文件中。验证登录后,我将changePage调用为要加载 changeHash 的新页面的ID为 false 。 这样,即使通过硬件后退按钮,用户也不会返回登录。