限制textarea行服务器端(php)和html?

时间:2014-09-19 05:22:02

标签: javascript php jquery codeigniter textarea

我已经尝试了多种javascript和jquery方法来限制行,但大多数都有一个错误,或者有复制/粘贴等问题。请让我知道它应该如何为客户端..主要是通过复制/粘贴修补,如果你不按Enter键限制额外的行,但继续写等等......

另外,那是我的服务器端,目前只检查,所以请告诉我是否可以改进它?

$lines = array_slice(explode("\n", trim( $_POST['description'])), 0, 10); // max 10 lines

foreach ($lines as $key => $value)
{
    $lines[$key] = substr(trim($value), 0, 100); // max 100 chars
}

$insert['teams_descr'] = implode("\n", $lines);
                $this->db->update( 'teams', $insert, array( 'teams_id' => $this->user->leader_team_id() ) );

1 个答案:

答案 0 :(得分:0)

你可以试试这个

<textarea id="splitLines" rows="10" cols="100" onchange="ValidateLines(this.value)"></textarea>
<script>
function ValidateLines(val) {
    var lines = val.split("\n");
    for (var i = 0; i < lines.length; i++) {
    if (lines[i].length <= 100) continue;
    var j = 0; space = 100;
    while (j++ <= 100) {
      if (lines[i].charAt(j) === " ") space = j;
    }
    lines[i + 1] = lines[i].substring(space + 1) + (lines[i + 1] || "");
    lines[i] = lines[i].substring(0, space);
    }
    document.getElementById("splitLines").value = lines.slice(0, 10).join("\n");

}
</script>

复制粘贴适用于此...但它正在处理更改事件......