0

2 つのテキスト ボックスを持つ zf2 アプリケーションで zend フォームを使用しています。データを送信したら、それを取得し、テーブルに表示するために使用するデータ配列をフィルタリングします。データがフィルタリングされてテーブルに表示されると、フォーム データはリセットされます。

送信後もフォームの値を保持する方法はありますか?

それは私が持っているコードです。ボタンをクリックすると、このページに移動し、アクションは以下のようになります。したがって、このページには、私が持っている 2 つのテキスト ボックスに基づいて入力されるテーブルがあります。送信ボタンをクリックすると、テキストボックス内のデータが消え、データがテーブルに入力されます。

ここでやりたいことは、入力した値をテキストボックスに保持することです。それをしてもいいですか ?HTTP がステートレス プロトコルであることは知っています。フロントエンドのクライアント側テクノロジーを使用してそれを実行できることはわかっていますが、これを回避する方法があるかどうかを知りたいだけです。

public function searchAction()
    {
        //search form instantiation
        $form = new SampleForm();

        // get the post request
        $request = $this->getRequest();


        //instantiation of select for querying
        $select = new Select();

        // get parameters
        $artist = $request->getPost('artist');
        $title = $request->getPost('title');

        //prepare search criteria array
        $search = array('artist' => $artist, 'title' => $title);

        //remove empty criteria from the search criteria list
        foreach ($search as $key => $value) {
            if (empty($value)) {
                unset($search[$key]);
            }
        }
        $result = $this->getAlbumTable()->fetchAll($select->where($search));

        return array(
            'albums' => $result,
            'form' => $form,
        );
    }
4

1 に答える 1