поля формы 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>

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

0

Решение

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

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

Другие решения

Есть несколько вещей не так в вашей форме.

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

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

<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>
2

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector