如何在php中只读文本框

时间:2013-03-20 13:14:34

标签: php codeigniter

如何在此代码中以只读方式创建文本框

<?php 
    echo form_input(array(
        'name'=>'price',
        'value'=>$item['price'],
        'size'=>'6'
    ));
?>

我只希望某些用户只读取该值而无法更改它。

5 个答案:

答案 0 :(得分:15)

尝试

<?php 
  echo form_input(array('name'=>'price','value'=>$item['price'],'size'=>'6',
     'readonly'=>'true'));
      //Or 'readonly'=>'readonly'
?>

答案 1 :(得分:3)

$options    =   array(
                    'name'      =>  'price',
                    'value'     =>  $item['price'],
                    'size'      =>  '6'
);

if(!$allowed_user){
    $options['readonly']    =   'readonly'
}

echo form_input($options);

答案 2 :(得分:2)

你可以用:

<?php 
  echo form_input(array('name'=>'price','value'=>$item['price'],'size'=>'6',
     'readonly'=>'readonly')); 
?>

这将是xhtml兼容。

请确保 NOT 在服务器端读取它,不要信任客户端数据,因为可以更改HTML以允许修改值。

答案 3 :(得分:2)

# Try pure PHP
if(isset($_POST['something'])){
# Do not set the readonly attribute
$readonly ='';
}else{
# Set the readonly attribute
$readonly = 'readonly';
}
<input type="text" <?php echo $readonly; ?>>

答案 4 :(得分:0)

有很多方法可以做到这一点:

来自CI表单字段的

  echo form_input(array('name'=>'price','value'=>$item['price'],'size'=>'6','readonly'=>'true'));
来自jquery / javascript:

使用字段的id作为:

 $("#id_offield").attr("readonly",true);

in html:

<textarea rows="4" cols="50" readonly>

等!

希望它会有所帮助!