简体   繁体   English

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

[英]The max Length is not showing until value is inputted and also after Backspacing it is decreasing to 31 characters

The value of Max length is to be 30 when loaded, and again 30 after backspacing all characters. Max length 的值在加载时为 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>
 

Also I have to give two inputs or two backspaces halfway to change the value.此外,我必须在中途给出两个输入或两个退格键来更改值。 I need it to just be like the Stackoverflow question box where it says 'x' characters left.我需要它就像 Stackoverflow 问题框一样,上面写着“x”字符。

//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 !!!");
  }
}

 inpuT1.addEventListener( 'keyup', ({ target: { value: { length } } }) => { console.log(length) chars.innerText = 30 - length } )
 <input maxlength="30" type="text" placeholder="Title....." id="inpuT1" class="input"> <br> Characters left: <span id="chars"></span>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM