如何在Codeigniter中设置textarea的值?

时间:2012-12-07 16:27:42

标签: codeigniter textarea

echo form_textarea('general4', set_value('general4'), 'class="general"');

set_value函数似乎不适用于textarea,所以我尝试了这个:

<textarea name='general4' class="general"><?=set_value('general4')?></textarea>

但仍然没有工作,有什么想法吗?

3 个答案:

答案 0 :(得分:8)

在CI中使用表单textarea()传递参数行和列,如下所示

 $data = array(
      'name'        => 'txt_area',
      'id'          => 'txt_area',
      'value'       => 'johndoe',
      'rows'        => '5',
      'cols'        => '10',
      'style'       => 'width:50%',
    );

  echo form_textarea($data);

有关详细信息,请参阅CI用户指南https://www.codeigniter.com/user_guide/helpers/form_helper.html#form_textarea

答案 1 :(得分:2)

问题是我不需要文本字段。所以我没有在动作网址中设置任何规则。所以我补充说:

$this->form_validation->set_rules('general4', 'general question' , 'trim|xss_clean');

它运作良好!

答案 2 :(得分:2)

您所做的是将textarea字段的名称设置为:'general4'。我认为你要做的是将一个实际的字符串返回给你的textarea,用post post请求或MySQL数据库中的数据预先填充它。有很多方法可以实现这一目标。

方法1: 在set_value()函数中设置第二个参数,例如:

<textarea name='general4' class="general"><?=set_value('general4', $foo)?></textarea>

方法2: 您始终可以使用内置的form_textarea()函数。文档找到here 例子:

通用

<?=form_textarea('name', 'value', 'attributs')?>

案例

<?=form_textarea('general4', $general4, "class = 'foo'")?>

来自CI Documentation

SET_VALUE()

  

允许您设置输入表单或textarea的值。您必须通过函数的第一个参数提供字段名称。第二个(可选)参数允许您为表单设置默认值。

<input type="text" name="quantity" value="<?php echo set_value('quantity', '0'); ?>" size="50" />