0

データの流れが次のようなマルチパート フォームがあります。

  1. フォームに回答し、SUBMIT (ajax 投稿経由)
    • jQuery フォームと CodeIgniter の検証が存在する場合はエコーされます
  2. フォームからの回答をプレビューする
    • 選択肢:キャンセル編集データベースへのコミット

3 つの選択肢は、プレビュー フォームで一意の名前を持つ送信ボタンです。データベースへのコミットプロセスは終了しましたが、キャンセルと編集が困難です。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 つの方法が完全ではないことはわかっていますが、行き詰まっており、2 つをシミュレートする他の方法がわかりません。私のセットアップで 2 つを行うための互換性のある方法はありますか?

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 に答える