似乎换行符没有被算作textarea中设置的maxlength的一部分,从而导致在发布到数据库时出错。我试图添加这样的验证,但是当用户在textarea中复制粘贴值时,它无法捕获。任何人都可以请教吗?
$("textarea.objective").on("keydown keyup", function(e) {
var x = $(this).val()
var newLines = x.match(/(\r\n|\n|\r)/g);
var addition = 0;
if (newLines != null) {
addition = newLines.length;
}
var maxLength = parseInt($(this).attr("maxlength")) ;
if (maxLength <= $(this).val().length + addition
&& e.keyCode !== 46
&& e.keyCode !== 8) {
e.preventDefault();
$(this).css('background-color', '#ffe8f3');
} else {
$(this).css('background-color', '#fff');
}
});