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

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

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

但仍然无法正常工作,有什么想法吗?

4

3 回答 3

9

要在 CI 中使用 form_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

于 2012-12-07T16:36:50.870 回答
3

您所做的是将 textarea 字段的名称设置为:'general4'。我认为你的意思是向你的文本区域返回一个实际的字符串,以便用来自发布请求或 MySQL 数据库或类似的东西的数据预先填充它。有多种方法可以实现这一目标。

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

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

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

通用的

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

案子

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

从 CI文档

设定值()

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

<input type="text" name="quantity" value="<?php echo set_value('quantity', '0'); ?>" size="50" />
于 2013-02-26T21:53:03.967 回答
2

问题是我不需要文本字段。所以我没有在操作 url 中设置任何规则。所以我添加了这个:

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

而且效果很好!

于 2012-12-12T00:01:44.077 回答