Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Zend表单创建动态添加的元素_Jquery_Forms_Zend Framework_Dynamic_Subform - Fatal编程技术网

Jquery Zend表单创建动态添加的元素

Jquery Zend表单创建动态添加的元素,jquery,forms,zend-framework,dynamic,subform,Jquery,Forms,Zend Framework,Dynamic,Subform,我是Zend framework的新手,我想创建一个表单,除了简单的输入和选择字段外,还将通过jquery添加多个输入字段,例如: 另一个表单元素可以接受多对选择和输入,如下所示: 这些将使用jquery插入客户端。如何使用表单元素在Zend实现这一点?我已经完成了您在一些项目中试图实现的目标,我发现最好的方法是使用子表单。以下是一些可能对您有所帮助的指南 配置父窗体 在表单中添加所需数量的子表单 配置子窗体 回显窗体视图上的子窗体 public function __construct($

我是Zend framework的新手,我想创建一个表单,除了简单的输入和选择字段外,还将通过jquery添加多个输入字段,例如:

另一个表单元素可以接受多对选择和输入,如下所示:


这些将使用jquery插入客户端。如何使用表单元素在Zend实现这一点?

我已经完成了您在一些项目中试图实现的目标,我发现最好的方法是使用子表单。以下是一些可能对您有所帮助的指南

配置父窗体

在表单中添加所需数量的子表单

配置子窗体

回显窗体视图上的子窗体

public function __construct($wine = null)
{
    parent::__construct();

    $this->setName('parent-form'); // you can set any name
    $this->setIsArray(true);
    $this->_initForm();
}
protected function _initForm(){
    $this->clearSubForms();
    $subForm = new Application_Form_Subform(1);
    $subForm->removeDecorator('Form');
    $this->addSubform($subForm,'subform-'.1);

    $subForm = new Application_Form_Subform(2);
    $subForm->removeDecorator('Form');
    $this->addSubform($subForm,'subform-'.2);
}
public function __construct($key) {
    parent::__construct();
    $this->setElementsBelongTo("parentform[subform][$key]");
    $this->setIsArray(true)->setName("subform")->setAttrib('enctype', 'multipart/form-data');

    $this->_initForm();
}
<?php
    foreach($this->element->getSubforms() as $key => $subForm){
        echo $subForm;
    }
?>
if ($request->isPost()) {

    $data = $request->getPost('parentform');

    if ($form->isValid($data)) {
        foreach ($data['subform'] as $subformInfo) { // loop through each subform input
          // do something with your data
        }
    }