ExtJs의 TextField 컨텐츠 길이 제한(중국어 전체 길이는 2개)
extjs 버전: 3.3
ext의 TextField 자체는 길이를 가지고 검사하지만 문자의 길이에 따라 계산합니다. 한자나 전각 기호는 모두 하나의 길이만 계산합니다. 항목의 수요로 인해 두 개의 길이에 따라 계산해야 합니다. ext의 원본을 수정하여 수정할 수 있습니다. ext 원본 패키지의 TextField가 정의한 곳에서 getErrors 방법을 찾아 길이를 비교할 위치를 찾을 수 있습니다. 다음과 같습니다.
if (value.length < this.minLength) {
errors.push(String.format(this.minLengthText, this.minLength));
}
if (value.length > this.maxLength) {
errors.push(String.format(this.maxLengthText, this.maxLength));
}
다음과 같이 수정합니다.
/**
* , 2
*/
var valueLength = 0;
for (var i = 0; i < value.length; i++) {
var c = value.charCodeAt(i);
// , +1
if ((c >= 0x0001 && c <= 0x007e) || (0xff60 <= c && c <= 0xff9f)) {
valueLength++;
}else {
valueLength += 2;
}
}
if (valueLength < this.minLength) {
errors.push(String.format(this.minLengthText, this.minLength));
}
if (valueLength > this.maxLength) {
errors.push(String.format(this.maxLengthText, this.maxLength));
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ExtJS 3.2 학습 노트(3) 사용자 정의 이벤트Extjs에서 모든 상속은 Ext.util에서 합니다.Observable 클래스의 컨트롤은 이벤트를 지원할 수 있습니다. 클래스에 대해 이벤트를 사용자 정의하려면 다음 절차를 따르십시오. 1, 먼저 클래스를 정의합니...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.