2014-10-30 3 views
0

мне нужно, чтобы показать некоторые поля в моих взглядах редактирования, но сделать это так, что они не могут быть отредактированыCakePHP поля формы, которые не могут быть изменены/отредактированное

<div class="users form"> 
<?php echo $this->Form->create('User'); ?> 
<fieldset> 
    <legend><?php echo __('Edit User'); ?></legend> 

<?php 
    echo $this->Form->input('ID'); 
    echo $this->Form->input('username'); 
    echo $this->Form->input('account_type'); 
?> 
</fieldset> 

<?php echo $this->Form->end(__('Submit')); ?> 
</div> 

есть какие-то способы, чтобы сделать использование; Абель() или что-либо, чтобы при отображении в представлении id и типа учетной записи значения этих полей отображались, но не могут быть отредактированы?

+0

Обратите внимание, что 'ID'! =' Id'. Вы должны попытаться придерживаться конвенций здесь. – mark

ответ

2

Вы можете использовать отключенный атрибут простого тега ввода html.

echo $this->Form->input('account_type', array('disabled'=>'disabled')); 
2

В вашей форме есть несколько неправильных вещей.

  1. Идентификатор не должен быть редактируемым
  2. Поле идентификатор действительно прописные? (случай здесь важен)

Хорошо, теперь, если вы хотите, чтобы ваши входы были включены в редактирование, вы можете заставить его с помощью атрибута disabled, как сказал @Abhishek. Но вы должны установить значение false. Поэтому ваша форма должна быть такой:

<div class="users form"> 
<?php echo $this->Form->create('User'); ?> 
<fieldset> 
    <legend><?php echo __('Edit User'); ?></legend> 

<?php 
    echo $this->Form->input('id', array('disabled'=>false)); 
    echo $this->Form->input('username', array('disabled'=>false)); 
    echo $this->Form->input('account_type', array('disabled'=>false)); 
?> 
</fieldset> 

<?php echo $this->Form->end(__('Submit')); ?> 
</div> 
Смежные вопросы