我有一个包含许多元素的HTML页面。页面是可滚动的,这意味着页面中有一个滚动条。在页面下方,我有一个带有指定行和列属性的HTML textarea。 现在我想要一个简单的JavaScript解决方案,它可以帮助我在每次用户输入任何字符时验证以下几点:
答案 0 :(得分:2)
我使用以下内容来限制textarea中允许的字符数量。 这不仅会计算它到达结尾时所修剪的字符数量,而且还会写出你剩下的字符数。
我认为你现在需要做的就是弄清楚如何添加一个新行(尝试像text + =“\ r \ n”;;)< - 不是100%肯定这个问题。
function textCounter(txtfield, cntFld, maxlimit){
var field = document.getElementById(txtfield);
var countfield = document.getElementById(cntFld);
if (field.value.length > maxlimit) // if too long...trim it!
{
field.value = field.value.substring(0, maxlimit);
}else { // otherwise, update 'characters left' counter
countfield.innerHTML = maxlimit - field.value.length;
}
}
答案 1 :(得分:0)
我也做了类似的情况:
textarea的最大长度= 1875; 行的最大长度= 75; 禁用Enter,因为超过75的倍数,SW会自动换行文本;
就是这样,带有onkeydown触发器:
function wrapTextArea(event,id,maxLineLenght){
// delete and canc
if((recuperaKeyCode(event)!=8) && (recuperaKeyCode(event)!=46)) {
var field = document.getElementById(id).value;
var nextIndex = 0;
for(var i=0; field.length>nextIndex; i++){
nextIndex=maxLineLenght*(i+1)+i;
if(field.length==nextIndex){
if(field.charAt(nextIndex)!= "\n"){
field=field.substring(0, nextIndex)+"\n"+field.substring(nextIndex, field.lenght);
}
}
}
document.getElementById(id).value = field;
}
}
这就是我禁用Enter键的方式,其中key = 13:
function disableKey(event,key){
if(recuperaKeyCode(event)==key){
event.preventDefault();
}
}