我在我的 zf2 应用程序中使用 zend 表单,它有两个文本框。一旦我提交了数据,我就会接受它并过滤我用来在表格上显示它的数据数组。一旦数据被过滤并显示在表格上,表单数据就会被重置。
有没有办法在提交后保留表单中的值?
这就是我拥有的代码,单击按钮我进入此页面,操作如下所示。所以这个页面有一个表格,它将根据我拥有的两个文本框进行填充。当我单击提交按钮时,文本框中的数据消失并且数据被填充到表中。
所以我在这里要做的是,保留文本框中输入的值。我可以这样做吗?我知道 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,
);
}