textarea 의 글자수를 제한하는 자바스크립트 함수를 만든다.

다음과 같은 함수를 정의한 뒤 onKeyUp 이벤트에 넣어주면 된다.
          
            checkContentLength : function( content, max_length)
            {
                var i;
                var string = content.value;
                var one_char;
                var str_byte = 0;
                var str_length = 0;
              for(i = 0 ; i < string.length ; i++)
            {
              // 한글자추출
              one_char = string.charAt(i);
        
              // 한글이면 2를 더한다.
              if (escape(one_char).length > 4)
              {
                 str_byte = str_byte+2;
              }
              // 그외의 경우는 1을 더한다.
              else
              {
                 str_byte++;
              }
        
              // 전체 크기가 li_max를 넘지않으면
              if(str_byte <= max_length)
              {
                 str_length = i + 1;
              }
            }
            // 전체길이를 초과하면
              if(str_byte > max_length)
              {
                alert(" 글자를 초과 입력할수 없습니다. \n 초과된 내용은 자동으로 삭제 됩니다. ");
                content.value = string.substr(0, str_length);
              }

            }   

textarea 태그 안의 이벤트 삽입

<textarea class="big-textarea02" name="valuation" onKeyDown="Mys.Sub.checkContentLength( this )"></textarea>

Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요

  1. 강상주 2009.10.20 20:19  댓글주소  수정/삭제  댓글쓰기

    onKeyDown 으로 하시면 안되고 onKeyUp으로 하셔야 합니다

    위처럼 하면 1byte 더 적을 수 있습니다.

  2. BlogIcon 관리자 2009.10.21 10:50  댓글주소  수정/삭제  댓글쓰기

    헐 감사합니다.ㅠ