0

我在我的 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,
        );
    }
4

1 回答 1

0

我终于弄清楚我在做什么。我只需要这样做。

if ($request->isPost()) {
            $album = new Album();
            $form->setInputFilter($album->getInputFilter());
            $form->setData($request->getPost());

        }
于 2013-10-31T16:51:44.290 回答