개발초보인
90
2021-04-19 23:09:19
4
174

input 글자 수 제한 했는데 마지막 글자가 삐져나옵니다..


<input type="text" v-on:input="textLengthCheck"  v-model="title"  maxlength='20'>


인풋에 maxlegth 걸어서 20글자로 글자수 제한을 해놓았는데 밑에 사진처럼 마지막에 한글자가 삐져나옵니다... 

물론 스페이스바나 마우스 좌클릭하면 마지막글자는 사라지긴하는데요 

그냥 20글자 다 차면 안쳐지게 할순없을까요 ???

영어는 안그러는데 한글만 저렇게 되네요..



textLengthCheck(e){

            this.title = e.target.value.substr(0,20);

        },


0
  • 답변 4

  • htofu
    248
    2021-04-20 10:16:34

     0부터 20까지 숫자를 세어보시면,,

  • 개발초보인
    90
    2021-04-20 10:42:27

    제가 해결하고 싶은 건 input 글자수 제한을 5자로 제한해놨다고 가정하면

     하하하하하 까지만 입력되고 그뒤엔 입력이안되야 되는데

    하하하하핳     에서 ㅏ 까지 입력하면 하하하하하하 이렇게 6글자가 나온다는 뜻입니다..

    물론 스페이스바나 엔터누르면 마지막글자는 사라지긴하는데요 명확한 해결방법이 있을까요?

  • htofu
    248
    2021-04-20 10:54:59

    <input type="text" maxlength="5" oninput="numberMaxLength(this);"/> 



     function numberMaxLength(e){

            if(e.value.length > e.maxLength){

                e.value = e.value.slice(0, e.maxLength);

            }

        }


  • 개발초보인
    90
    2021-04-20 12:06:14

    덕분에 해결했습니다 감사합니다!

  • 로그인을 하시면 답변을 등록할 수 있습니다.