如何模拟Zend \ Form提交而不在Zend Framework 2/3中显示表单?

时间:2017-12-14 12:51:30

标签: zend-framework2 zend-form zend-framework3 zend-form2

我有一个复杂的嵌套(订单)Zend\Form,可以多次编辑。现在我想获取数据并稍后将其传递给新表单。 (这样我想实现一个简单的克隆机制。)

已经有效的是将请求数据转换为JSON

if ($request->isPost()) {
    ...
    if(isset($request->getPost()->toArray()['store'])) {
        $this->storeFormJson(json_encode($request->getPost()));
    }
    ...
}
...

并将其传递给空表格:

if ($this->params()->fromQuery('populate')) {
    $formDataJson = $this->getFormDataJson();
    $formDataArray = json_decode($formDataJson, true);
    $parameters = new Parameters($formDataArray);
    $request->setPost($parameters);
    $request->setMethod(Request::METHOD_POST);
}

好的。但它要求用户需要先调用编辑表单,编辑它(如果需要),然后将数据发送到服务器(通过提交表单)。由于目标是动态创建克隆,我需要一种方法来模拟这些步骤。

如何获取数据,通常是通过表单提交传递的,而不是真正的提交?

1 个答案:

答案 0 :(得分:0)

一种想法是创建一个新表单F2,其中字段全部隐藏,使用填充表单F1中的值填充F2,将呈现的F2表单传递给客户端,并添加自动提交的客户端javascript页面加载时现在填充的F2表单。只是大声思考......