Javascript 如果html textarea长度大于指定长度,如何显示警报消息?

Javascript 如果html textarea长度大于指定长度,如何显示警报消息?,javascript,jquery,html,Javascript,Jquery,Html,如果用户键入超过1000个字符或复制超过1000个字符,我想显示一条警告消息。为此,我使用了下面的JS代码,但不知何故它不起作用 HTML代码: <div class="form-group"> <label for="">Werk-Beschreibung</label> <textarea id="limit" maxlength="1000" name="werk_beschreibung" maxlength="1000" col

如果用户键入超过1000个字符或复制超过1000个字符,我想显示一条警告消息。为此,我使用了下面的JS代码,但不知何故它不起作用

HTML代码:

<div class="form-group">
    <label for="">Werk-Beschreibung</label>
    <textarea id="limit" maxlength="1000" name="werk_beschreibung" maxlength="1000" cols="30" rows="10" class="form-control"><?php echo escape($werk_beschreibung); ?></textarea><span class="counter"></span>
</div>

我做错了什么

看看这段代码,你听到的是错误的事件

;(函数($){
$.fn.characterCounter=函数(限制){
返回此.filter(“textarea,input:text”)。每个(函数(){
变量$this=$(this),
checkCharacters=函数(事件){
如果($this.val().length>limit){
//修剪字符串,因为粘贴将允许您制作它
//超过限制。
$this.val($this.val().substring(0,limit))
//取消原始事件
event.preventDefault();
event.stopPropagation();
}
};
$this.keyup(函数(事件){
//“枚举”键
变量键={
退格:8,
表9:,
左:37,
上升:38,
右:39,
下降:40
};
//它规范化了keycode和charcode。
开关(event.which){
case key.UP:
case key.DOWN:
case key.LEFT:
case key.RIGHT:
case key.TAB:
打破
违约:
检查字符(事件);
打破
}
});
//处理剪切/粘贴。
$this.bind(“粘贴剪切”,函数(事件){
//延迟以捕获粘贴值。
setTimeout(函数(){checkCharacters(event);event=null;},150);
});
});
};
}(jQuery));
$(文档).ready(函数(){
$(“文本区域”)。字符计数器(100);
});
textarea
{
高度:300px;
宽度:350px;
}

这是来自

这是一把限制为1000个字符的小提琴


Fiddle:

您的代码几乎是有效的,无需进行重大更改,您只需确保
maxlength
在您的条件下是相同的,并且一切正常

注意:删除
textarea
字段中重复的
maxlength=“1000”

$(“#限制”).on('input',function(){
如果($(this).val().length>=10){
警报(“您已达到10的限制”);
}
});

沃克·贝施雷邦

你的确切意思是什么,但不知何故它不起作用。你的警报永远不会触发,因为你的最大长度已设置,这意味着它永远不会达到1001个字符。您应该在文本字段中添加一点免责声明,告诉用户最大长度为1000或仅在1000个字符时发出警报您已经设置了两倍的最大长度属性“JS代码”是JavaScript和jQuery的混合体,所以考虑在你的问题中添加一个jQuery标签。this@ShibbirAhmed看看另一个答案,它只有几行代码。这也允许用户在文本字段中键入1000多行代码。在此之前,将其添加到代码块中,以便给出完整的答案example@TanmayGawankar,你能再告诉我一个答案吗?我输入了大文本。使用PHP mb_strlen it'显示1039,使用JS it's alert me 1000个字符通知,你能告诉我为什么吗?
$("#limit").on('input', function() {
    if($(this).val().length >=1001) {
        alert('you have reached a limit of 1000');       
    }
});
$('#textareaID').bind('input propertychange', function() {
    if (this.value.length > 1000) {
        $("#textareaID").val($("#textareaID").val().substring(0,1000));
        alert("stop");
    }
});