标签:php zend-framework2 zend-framework
我正在尝试创建,用于颜色输入字段的html集合..这将使用javascript动态添加
我的ColorFieldset代码是
namespace Dashboard\Form;
use Zend\Form\Fieldset;
use Zend\InputFilter\InputFilterProviderInterface;
class ColorFieldset extends Fieldset implements InputFilterProviderInterface
{
public function __construct()
{
parent::__construct('color');
$this->add(array(
'name' => 'hash',
'options' => array(
'label' => 'Color'
),
'attributes' => array(
'required' => 'required',
'class' => 'input-mini'
)
));
}
/**
* @return array
\*/
public function getInputFilterSpecification()
{
return array(
'hash' => array(
'required' => true,
)
);
}
}
并将其添加到表单中
$this->add(array(
'type' => 'Zend\Form\Element\Collection',
'name' => 'colors',
'options' => array(
'count' => 2 ,
'should_create_template' => true,
'allow_add' => true,
'target_element' => array(
'type' => 'Dashboard\Form\ColorFieldset'
)
)
));
并在我的视图文件.. colors.phtml
<div id="colors_container" class="">
<?php echo $this->formCollection( $form->get('colors')); ?>
</div>
它的打印输出就像
<div class="" id="colors_container">
<label><span>Color</span><input type="text" value="" class="input-mini" required="required" name="hash"></label>
<label><span>Color</span><input type="text" value="" class="input-mini" required="required" name="hash"></label>
<span data-template='<label><span>Color</span><input name="hash" required="required" class="input-mini" type="text" value=""></label>'></span>
</div>
它应该打印像…在zf2 manual 2.0解释
<div class="" id="colors_container">
<label><span>Color</span><input type="text" value="" class="input-mini" required="required" name="colors[0][hash]"></label>
<label><span>Color</span><input type="text" value="" class="input-mini" required="required" name="colors[1][hash]"></label>
<span data-template='<label><span>Color</span><input name="colors[__index__][hash]" required="required" class="input-mini" type="text" value=""></label>'></span>
</div>
我希望html输入名称为颜色[__ index __] [hash].但它打印名称为< input type =“text”value =“”class =“input-mini”required =“required”name =“hash”> .
在上面的例子中.我只会在post $_POST [‘hash’]中获得一个颜色名称.
为什么zf2不打印< input type =“text”value =“”class =“input-mini”required =“required”name =“colors [0] [hash]”> ?请告诉我的代码有什么问题.
解决方法:
哦,我终于找到了答案.我得打电话
$form->prepare();
在视图中渲染任何内容之前.现在它有效
标签:php,zend-framework2,zend-framework 来源: https://codeday.me/bug/20190718/1492890.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。