9

我在 html 上制作的表单中使用 aa textarea 字段,处理由 php 完成。我想限制用户可以在 textarea 中输入的字符数。有什么方法可以做到这一点,因为 textarea 字段然后存储到 mysql 数据库中,因此我必须根据字段的 varchar 值来限制用户数据。

有什么帮助吗?

4

5 回答 5

19

maxlength您可以通过在 HTML中的 textarea 标签上设置属性来限制这一点,另外还可以通过函数<textarea maxlength="120"></textarea>在 PHP 中“剪切”输入字符串。substr()

于 2012-05-06T06:39:51.557 回答
9

正如s.webbandit所提到的,您可以使用maxlength,但请注意,这是 HTML5 中引入的新功能,正如 W3 Schools文章中所说的那样<textarea>,因此“防弹”解决方案需要 Javascript。所以直到maxlength版本 10 和 Opera都不支持 Internet Explorer。

这是一种使用 Javascript 来帮助您的方法:

<script language="javascript" type="text/javascript">
   function charLimit(limitField, limitCount, limitNum) {
    if (limitField.value.length > limitNum) {
      limitField.value = limitField.value.substring(0, limitNum);
  } else {
      limitCount.value = limitNum - limitField.value.length;
       }
    }
</script>

然后您可以像这样使用它(原始来源):

    <textarea name="limitedtextarea" onKeyDown="charLimit(this.form.limitedtextarea,this.form.countdown,100);">
    </textarea>

这应该让你继续前进。

于 2013-04-23T13:11:42.887 回答
5

这是通过 JavaScript 限制文本区域长度的一种非常简单的方法。

文本区域字段:

<input class='textField' type='text' NAME='note1' value='' onkeyup='charLimit(this, 40);'>

JavaScript 函数:

function charLimit(limitField, limitNum) {
  if (limitField.value.length > limitNum) {
   limitField.value = limitField.value.substring(0, limitNum);}
}

当用户输入超过 40 个字符时,它只会删除它们。

于 2014-12-06T00:07:52.247 回答
1

我尝试了很多不同的方法来限制 textareas 中的文本,我发现最好的方法(客户端)是使用 jQuery.Maxlength.js 插件。简单快速,涵盖所有内容!

步骤 1. 包含 Maxlength 插件脚本

<script language="javascript" src="jquery.maxlength.js"></script>

步骤 2. 添加 maxlength 属性到

<textarea maxlength="35" 
    rows="5" cols="30" name="address"></textarea>

步骤 3. 初始化插件

<script type="text/javascript">
    $(document).ready(function($) {
             //Set maxlength of all the textarea (call plugin)
             $().maxlength();
    })
</script>

https://github.com/viralpatel/jquery.maxlength

于 2013-06-12T16:33:18.087 回答
0
<script type="text/javascript">
        $(document).ready(function(){
        var maxChars = $("#sessionNumtext");
        var max_length = maxChars.attr('maxlength');
        if (max_length > 0) {
            maxChars.bind('keyup', function(e){
                length = new Number(maxChars.val().length);
                counter = max_length-length;
                $("#sessionNum_counter").text(counter);
            });
        }
    });
</script>

<textarea name="sessionNumtext" id="sessionNumtext" maxlength="20" type="text"></textarea>
kalan karakter sayısı: <span id="sessionNum_counters">20</span>
于 2017-04-16T09:21:46.453 回答