在ajax提交的表单提交到预览表单后模拟后退按钮

时间:2013-02-24 11:22:22

标签: php javascript ajax forms codeigniter

我有一个多部分表单,其中数据流是:

  1. 回答表格,提交(通过ajax帖子)
    • jQuery Form和CodeIgniter验证如果存在则回显
  2. 预览表单中的答案
    • 选择:取消修改提交数据库
  3. 这三个选项是预览表单中具有唯一名称的提交按钮。 我的提交数据库过程已完成,但我无法执行取消和编辑。我目前的三种方法是(在控制器内部):

    function preview_form_redirect() 
    {
      if ( isset($_POST['submit-form']) ) {
        $this->send_to_database();
      } else if ( isset($_POST['edit-form']) ) {
        // return to form with all answers intact
      } else { // CANCEL FORM
        redirect('accounts');
      }
    } // END preview_form_redirect() 
    

    我对“编辑”选项的计划是模拟后退按钮,因为我确信数据和DOM将完好无损。

    我知道我对这两者的方法并不完美但是我被卡住了,不知道用什么方法来模拟这两者。是否有可能兼容的方法来完成我的设置?

2 个答案:

答案 0 :(得分:0)

尝试使用原生js back方法:history.back()

答案 1 :(得分:0)

你必须使用Javascript。 如果您的浏览器不完全支持HTML5历史记录API,则可以使用此库使用html5推送状态或html片段:https://github.com/browserstate/History.js/

当用户点击编辑按钮时,执行以下操作:     History.pushState({state:1},“State 1”,“?state = 1”);

并在后退按钮上注册一个事件:     History.Adapter.bind(窗口,如 'popstate',函数(){         //从页面中删除可编辑元素     });

希望它有所帮助。

相关问题