脚本宝典收集整理的这篇文章主要介绍了php – 以zend形式输入类似name =“person []”的数组,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
<input name="person[]" type="text" /> <input name="person[]" type="text" /> <input name="person[]" type="text" />
据我所知,Zend_Form没有那个.我阅读了another answer,建议可以使用装饰器完成,该装饰器会在正确的位置添加[].这是该特定问题的代码
$html = ''; // some code html $i = 0; foreach ($element->getMultiOptions() as $value => $label){ $html .= '<input type="checkBox" ' . 'name="'.$element->getName().'[]" ' . 'id="'$element->getName()'-'.$i.'" ' . 'value="'.$value.'" />'; $i++; } return $html;
这看起来是一个好的开始,但我想知道使用装饰器是否足够.返回的值必须正确读取并传递到服务器,然后在服务器端验证.装饰者错误的想法是什么?自定义元素会更有意义吗?我还没有看到一个很好的例子来说明如何做到这一点.
为此,您可以执行以下操作:
$in1 = $this->createElement('text','0'); $in2 = $this->createElement('text','1'); $in1->setBelongsTo('person'); $in2->setBelongsTo('person');
通过这种方式,您通常可以将验证器,过滤器等附加到$in1或$in2,它们将按预期工作.在您的操作中,在表单验证之后,您可以获取此人的输入文本字段的数组:
$values = $yourForm->getValues(); var_dump($values['person']);
有趣的是,以下内容不起作用:
$in1 = $this->createElement('text','person[0]'); $in2 = $this->createElement('text','person[1]');
希望这会帮助你.
以上是脚本宝典为你收集整理的php – 以zend形式输入类似name =“person []”的数组全部内容,希望文章能够帮你解决php – 以zend形式输入类似name =“person []”的数组所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。