文本区 |val().length 不计算 chrome 中的“输入/换行符”
Textarea | val().length not counting "Enter/Line Breaks" in chrome
我有一个textarea
,属性maxlength
设置为350
,它工作正常,它还将输入/换行符计为字符。
如果用户尝试键入超过或达到我使用此代码的字符限制350
我还必须显示错误消息:
$("textarea").keyup(function (e) {
if($(this).val().length >=350){
$('.error').show();
}else{
$('.error').hide();
}
});
它可以工作,但在 chrome 中它不计算输入/换行符,但 maxlength 会因此而计算,如果用户在多行中中断文本,他确实会在 350 个字符后停止输入,但没有看到任何消息。
这里有一个小提琴可以玩:https://jsfiddle.net/udp9oxx4/
请注意,此错误仅发生在 chrome 中。
$("textarea").keyup(function (e) {
var isChrome = window.chrome;
if(isChrome){
var value = $(this).val().replace(/('r'n|'n|'r)/g," ");
}
else{
var value = $(this).val();
}
if(value.length >=350){
$('.error').show();
}else{
$('.error').hide();
}
});
Chrome 将换行符计为 2 个字符,因此计算字符数错误。只需在函数前面添加此代码,它就可以正常工作。
https://jsfiddle.net/3wpqd4nr/
小提琴
相关文章:
- 在IE9中的输入字段中输入焦点最近按钮
- 如何读取表单中的输入数据
- 从html表中的输入数据创建图表
- 如何从查询字符串中的输入字段发回文本
- 通过提示中的循环触发iFrame中的输入按钮(JavaScript)
- 将“提示”对话框中的输入替换为星号时出现问题
- 在表单中的输入字段上提交事件
- 触发IE9中的输入文件点击
- 禁用Bootstrap中的输入字段
- 检测angularjs中的输入文本长度
- 如何使用php和html根据文本框中的输入值自动更改组合框值
- 无法使用下拉列表检索表行中的输入值,但可以检索下拉值
- 从Javascript中的输入文件中获取文件名
- 无法根据用户在编辑窗口中的输入显示/隐藏jtable jquery字段
- 我们是否需要验证 jqgrid 中的输入
- 如何在动态树标题中的输入字段上设置焦点
- 当jquery中的输入发生更改时更新变量
- 如何限制jsp中的输入只使用字母而不使用JavaScripts(因为JavaScripts被禁用)
- 触发AngularJS中的输入文件点击事件
- 验证javascript中的输入没有'不起作用