我有表单,其中一些字段看起来像行,所以我可以使用 JS 添加/删除它们。例如:
ID=1 的字段(现有行)
<input id="id[1]" type="text" name="id[1]" value="1" />
<input id="name[1]" type="text" name="name[1]" value="100" />
ID=2 的字段(现有行)
<input id="name[2]" type="text" name="name[2]" value="200" />
<input id="name[2]" type="text" name="name[2]" value="200" />
默认创建新行(允许在现有行中再添加一行)
<input id="id[n0]" type="text" name="id[n0]" value="" />
<input id="name[n0]" type="text" name="name[n0]" value="" />
由 JS 创建的新行
<input id="id[n1]" type="text" name="id[n1]" value="" />
<input id="name[n1]" type="text" name="name[n1]" value="" />
因此,我们将继续表单,我们将知道要更新哪些行以及要添加哪些行(如果索引以“n”开头 - 新的,如果索引是数字 - 现有元素)。
我尝试了子表单...但是我必须为每个字段创建子表单吗?如果我使用以下代码:
$subForm = new Zend_Form_SubForm();
$subForm->addElement('Text', 'n0');
$this->addSubForm($subForm, 'pid');
$subForm = new Zend_Form_SubForm();
$subForm->addElement('Text', 'n0');
$this->addSubForm($subForm, 'name');
最好的方法是什么?
1)使用子表单?
2) 扩展 Zend/Form/Decorator/ViewHelper.php 以使用类似的名称name[nX]
?
3)其他解决方案?
谢谢。