我无法在占位符中获取值,占位符为空
<div class="form_element">
<?php
//$name = $form->get('name');
$this->placeholder('name')->data="text value";
$name= $form->get('name');
echo $formLabel->openTag().$name->getOption('label')." ";
echo $this->formInput($name);
echo $formLabel->closeTag();
?>
</div>
答案 0 :(得分:4)
在您的代码中,您使用了placeholder
查看助手(more about),但我看不到您尝试获取占位符值的位置。您似乎询问了表单输入字段占位符属性。如果为true,则必须将其指定为属性。查看助手placeholder
用于执行不同的任务。
您的表单视图助手使用有点奇怪。可以建议我的代码版本。
<div class="form_element">
<?php $name = $form->get('name'); ?>
<?php $name->setAttribute('placeholder', 'placeholder text'); ?>
<?php echo $formLabel($name); ?>
<?php echo $formInput($name); ?>
</div>
更好的解决方案是在表单元素定义中设置占位符。例如:
<?php
use Zend\Form\Form;
class MyForm extends Form
{
public function __construct()
{
parent::__construct('<FORM_NAME>');
$this->add(array(
'name' => 'name',
'type' => 'Zend\Form\Element\Text',
'attributes' => array(
'placeholder' => '<PLACEHOLDER_TEXT>',
),
));
}
}