readonly属性未在selectbox上应用。 这是我的表格代码:
array(
'type' => 'Select',
'name' => 'role',
'attributes' => array(
'id' => 'role',
'error_msg' => 'Select User Role',
),
'options' => array(
'label' => 'Role'
),
'validation' => array(
'required'=>false,
'filters'=> array(
array('name'=>'StripTags'),
array('name'=>'StringTrim')
),
'validators'=>array(
array(
'name'=>'StringLength',
'options'=>array(
'encoding'=>'UTF-8',
'min'=>1,
'max'=>250
)
)
)
)
),
控制器代码:
$form->get('role')->setAttribute('readonly', 'readonly');
并且在我的控制器中我在selectbox上应用readonly属性但是readonly属性没有应用我如何应用readonly属性?
答案 0 :(得分:5)
选择没有readonly属性。以下是w3c
上的选择说明您可以做的是禁用选择并添加隐藏字段(如果您希望传递默认值)
示例:
$form->get('field_name')->setAttribute('disabled', 'disabled');
或使用工厂方法:
$this->add(array(
'name' => 'field_name',
'type' => 'Zend\Form\Element\Select',
'options' => array(
'label' => 'Type',
'value_options' => array(
'val1' => 'name1',
'valN' => 'nameN'
),
),
'attributes' => array(
'disabled' => 'disabled',
),
));
答案 1 :(得分:1)
我遇到了同样的问题,我的解决方案是:
查看phtml文件中的示例:
$element = $form->get('name');
if ($isReadOnly) {
echo $this->formHidden($element);
$element->setAttribute('disabled', 'disabled');
echo $this->formSelect($element); //Display the select to user
}
希望它有所帮助。