! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

Text 입력 combobox에서 바이트 체크 > Q&A | 토론

본문 바로가기

Angular Text 입력 combobox에서 바이트 체크

페이지 정보

작성자 치카치카 작성일 2023-11-23 15:42 조회 303회 댓글 0건
제품 버전 : 5.20222.877
컨트롤 이름 : wjcombobox

본문

wjcombobox에서 maxlength 처리와 같이 바이트 체크로 입력을 막고 싶습니다. 


별도의 함수를 만들어  textchange, textchanged 함수에서 호출 하게 해봐도 한글입력시 무한대로 입력이 되고 포커스가 아웃이 되어야 잘라지고 있는데 


원하는 기능은 maxlength와 같이 입력이 마지막선에서 막아지는 겁니다. 


샘플 소스가 있으면 올려주세요 


감사합니다


  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

2 답변

Angular Re: Text 입력 combobox에서 바이트 체크

추천0 이 글을 추천하셨습니다 비추천0

페이지 정보

작성자 MESCIUS루시 작성일 2023-11-24 15:48 댓글 2건

본문

안녕하세요 메시어스입니다.


문의하신 내용과 관련하여 먼저 Wijmo에서는 byte를 체크하는 메서드는 공식적으로 지원하고 있지 않습니다. 따라서 byte 체크는 별도 메서드 또는 사용자 정의 로직을 구현해서 사용해주시기 바랍니다. 아래 byte size를 가져오는 글을 공유드리오니 참고하시기 바랍니다.


get byte size of the string in JavaScript 


더불어 inputElement에 maxLength가 설정되어 있을 때, 무한대로 입력이 되신다고 하셨는데 저희 쪽에서 재현이 되지 않아 정확한 원인 파악이 어려운 상황입니다. 관련하여 저희 쪽으로 재현 가능한 샘플을 공유해주신다면 재현 및 디버깅 후 답변드리도록 하겠습니다.


감사합니다.

메시어스 드림


댓글목록

치카치카님의 댓글

치카치카 작성일

답변 감사합니다. 
그런데 제 질문을 약간 잘못이해하신거 같은데요 . 
maxLength를 사용중일대 무한대 입력이 아니고 
사용자정의로 함수를 생성하여  textchange, textchanged 함수에 이벤트를 걸었는데 이때 숫자나, 영어는 slice로 자린대로 잘나오지만 한글은 계속입력이 되고 포커스 아웃이 되야 정상적으로 보입니다.

그래서 질문드렸던건 maxlength 처럼 자동으로 마지막 입력이 안되게 하고 싶은데 샘플 소스가 없는지 문의 드렸던 겁니다. 

사용자정의 함수로 String slice를 사용하여 max 값을 10 으로 설정하고 그값보다 크면 wjcombobox에서 한글입력이 안되게 막고 싶은데 테스트가 가능 하실까요 ?

MESCIUS루시님의 댓글의 댓글

MESCIUS루시 작성일

안녕하세요 메시어스입니다.

문의하신 내용에 대해서 디테일한 내용 공유 감사드립니다. 해당 문의에 대해서 저희 쪽에서 확인 후 답변드릴 수 있도록 하겠습니다.

감사합니다.
메시어스 드림

Angular Re: Text 입력 combobox에서 바이트 체크

추천0 이 글을 추천하셨습니다 비추천0

페이지 정보

작성자 MESCIUS루시 작성일 2023-11-30 13:53 댓글 0건

본문

안녕하세요 메시어스입니다.


답변이 늦어져서 죄송드리며 문의에 대해서 안내드립니다.


Wijmo에서는 이전에 안내드린 것과 같이 별도로 byte 체크하는 메서드는 제공하지않으며 일반적으로 입력 문자 길이를 제한할 수 있는 방법으로 inputElement에 maxLength 설정하시면 됩니다. 다만 한글과 영어의 바이트 차이로 인해 편집 중에 제한 길이보다 한 글자 더 입력이 됩니다.


이를 방지하기 위해서는 ComboBox와 관련된 inputElement의 input 이벤트를 처리하시면 됩니다.  자세한 코드는 아래 샘플을 참고하여 주시기 바랍니다.


html

<wj-combo-box
  #theComboString
  id="theComboString"
  [itemsSource]="strings"
  [isEditable]="true"
  (initialized)="initCombo(theComboString,$event)"
></wj-combo-box>

ts

 initCombo(combo, event) {

    combo.inputElement.maxLength = 4;

    combo.inputElement.addEventListener("input", function () {
      if ([...combo.inputElement.value].length > 4) {
        // Remove extra text.
        combo.inputElement.value = combo.inputElement.value.substring(0, 4);
      }
    });
  }


다른 궁금한 점이 생기면 문의주시기 바랍니다.


감사합니다.

메시어스 드림

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.