如何在此代码中以只读方式创建文本框
<?php
echo form_input(array(
'name'=>'price',
'value'=>$item['price'],
'size'=>'6'
));
?>
我只希望某些用户只读取该值而无法更改它。
答案 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'));
使用字段的id作为:
$("#id_offield").attr("readonly",true);
in html:
<textarea rows="4" cols="50" readonly>
等!
希望它会有所帮助!