cakephp表单无法修改/编辑的字段

时间:2014-10-30 06:07:37

标签: php cakephp cakephp-2.0

我需要在我的编辑视图中显示一些字段,但要使它们无法编辑

<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()函数或任何东西,以便当我在视图中显示id和帐户类型时,这些字段的值会出现但无法编辑?

2 个答案:

答案 0 :(得分:2)

您可以使用普通html输入标记的禁用属性。

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

答案 1 :(得分:2)

您的表单中存在一些错误。

  1. ID不可编辑
  2. id字段是否大写? (这里的情况很重要)
  3. 好的,现在如果您希望您的输入能够进行编辑,您可以通过已禁用的属性强制它,如@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>