【问题标题】:How do I set a maxlength for Codeigniters form_textarea()?如何为 Codeigniters form_textarea() 设置最大长度?
【发布时间】:2013-05-29 08:29:16
【问题描述】:

我正在尝试为 Codeigniter 中的form_textarea() 设置一个maxlength

我尝试了以下方法:

<?php

$options = array(
    'maxlength' => '100'
    );

?>

<tr>
<td><?= form_label('Profiel:');?></td>
<td><?= form_textarea('Profiel', $options,  $info['Profiel']);?></td>
</tr>

当我编辑表单以编辑 textarea 中的文本时,它显示为 Array。所以文字不见了,换成了Array。

但这不起作用。 也许我必须使用 Jquery?

【问题讨论】:

  • 大声笑。但不幸的是,这不是问题。

标签: html forms codeigniter textarea maxlength


【解决方案1】:

Codeigniter 允许您通过关联数组将属性传递到表单元素中。

表单助手的文档在这里:http://ellislab.com/codeigniter/user-guide/helpers/form_helper.html

虽然我可以确切地看到你想要做什么,但有一个关于 textareas 的警告。来自文档:

form_textarea()

这个函数在所有方面都与 form_input() 相同 上面的函数,除了它生成一个“textarea”类型。笔记: 而不是上面示例中的“maxlength”和“size”属性, 您将改为指定“rows”和“cols”。

因此,您需要为 textareas 传递行和列而不是 maxlength。您的代码将如下所示:

$options = array(
    'rows' => 10,
    'cols' => 10
);

【讨论】:

  • 奇怪的是。我可以设置让我们说 150 个单词。当我在 textarea 中编辑文本时,它会显示Array。这是为什么呢?
  • 看看我的编辑 Kees。文档说您不能在 textarea 上使用 maxlength,而是必须使用 rows/cols。
  • 好的。这比 Maximkou 的回答更好。
  • 是的。当我设置行/列时,我不知道限制何时像 100 或 120。目前还不清楚。
  • 嗯。我仍然可以在 textarea 中输入超过 100 个单词,即使我将 rows/cols 设置为 1
【解决方案2】:
form_textarea(array(
    'cols' => 1, 
    'rows' => 1
));

【讨论】:

  • 请解释它的作用。我在文档中阅读了一些关于此的内容,但是为什么要限制最大长度?
  • 是什么阻止您将属性“maxlength”添加到选项中?
  • 嗯,一种解决方案 - 验证数据
  • 不确定这是否可行,因为我必须编辑整个表单并将内容添加到控制器。我会用javascript试试。
猜你喜欢
  • 1970-01-01
  • 2012-07-03
  • 1970-01-01
  • 2013-07-05
  • 2011-02-01
  • 2012-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多