Javascript 在输入值之前,最大长度不会显示,并且在退格后,最大长度会减少到31个字符

Javascript 在输入值之前,最大长度不会显示,并且在退格后,最大长度会减少到31个字符,javascript,html,function,onkeydown,onkeypress,Javascript,Html,Function,Onkeydown,Onkeypress,加载时,“最大长度”的值为30,在所有字符退格后再次为30 <input onkeypress="chars(),maxLen()" onkeydown="back()" maxlength="30" type="text" placeholder="Title....." id="inpuT1" class="input"> <br>

加载时,“最大长度”的值为30,在所有字符退格后再次为30

<input onkeypress="chars(),maxLen()" onkeydown="back()" maxlength="30" type="text" placeholder="Title....." id="inpuT1" class="input">
<br>
Max Length <span id="chars"></span>
 
inpuT1.addEventListener(
“keyup”,
({target:{value:{length}}})=>{
console.log(长度)
chars.innerText=30-长度
}
)



左字符:
不要为函数和元素ID使用相同的名称
chars
。这两个变量都成为全局变量,不清楚哪个变量优先。检查控制台,可能会出现错误,说明
chars
不是函数。
textnode.length
应该是
inputValue.length
//Maximum input length
document.getElementById("chars").innerHTML=result;
function chars(){
var inputValue = document.getElementById("inpuT1").value;
var textnode = document.createTextNode(inputValue);
var maxlen = 30;
var result;
result=maxlen-textnode.length;
document.getElementById("chars").innerHTML=result;
}

//Key down
function back(){
  var inputValue = document.getElementById("inpuT1").value;
  var textnode = document.createTextNode(inputValue);
  var maxlen=30;
  var result;
    result=maxlen-textnode.length;
    document.getElementById("chars").innerHTML=result+1;
}

//Maximum input length
function maxLen(){ 
var inputValue = document.getElementById("inpuT1").value;
var textnode = document.createTextNode(inputValue);
  if(textnode.length>29){
   alert("Max Length reached !!!");
  }
}