0

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

  1. 回答表格,提交(通过 ajax 帖子)
    • jQuery Form 和 CodeIgniter 验证如果存在则回显
  2. 预览表格中的答案
    • 选择:取消编辑提交到数据库

这三个选项是预览表单中具有唯一名称的提交按钮。我的提交到数据库过程已完成,而我在执行取消和编辑时遇到了困难。我目前对这三个的方法是(在控制器内部):

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() 

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

我知道我对这两种方法的方法并不完美,但我被卡住了,不知道还有什么其他方法可以模拟这两种方法。是否有可能且兼容的方法可以为我的设置执行这两种操作?

4

2 回答 2

0

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

于 2013-02-24T11:45:21.423 回答
0

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

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

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

希望能帮助到你。

于 2013-02-24T11:48:15.667 回答