如何模拟Zend Form提交而不在Zend Framework 2/3中显示表单?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何模拟Zend Form提交而不在Zend Framework 2/3中显示表单?相关的知识,希望对你有一定的参考价值。
我有一个复杂的嵌套(订单)ZendForm
,可以多次编辑。现在我想获取数据并稍后将其传递给新表单。 (这样我想实现一个简单的克隆机制。)
已经有效的是将请求数据转换为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);
}
好的。但它要求用户需要先调用编辑表单,编辑它(如果需要),然后将数据发送到服务器(通过提交表单)。由于目标是动态创建克隆,我需要一种方法来模拟这些步骤。
如何获取通常通过表单提交传递的数据,而无需真正提交?
答案
一种想法是创建一个新的表单F2,其中字段全部隐藏,使用填充表单F1中的值填充F2,将呈现的F2表单传递给客户端,并添加自动提交现在填充的客户端javascript页面加载时F2表格。只是大声思考......
以上是关于如何模拟Zend Form提交而不在Zend Framework 2/3中显示表单?的主要内容,如果未能解决你的问题,请参考以下文章
Zend Form - 一页中的多个表单和(CSRF)令牌验证