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,
);
}