입력길이의 제한
Database를 이용하는 CGI의 경우에는 일반적으로 각 항목마다 최대 입력허용 길이가 있게 마련이다. 따라서 무한정 긴 입력항목을 받아들였다 하더라도 앞에서부터 잘리거나 오류를 발생할 수도 있다. 이러한 오류의 가능성을 사용자 입력 단계에서부터 걸러내어 예외상황을 최소한으로 줄이는 것이 필요하다. 본 예제에서는 이름과 자기소개 부분이 각각 한글로 5자, 그리고 영문 기준으로 100자로 한정이 되어 있다. 간단한 접근방법은 폼 태그 옵션 중 MAXLENGTH를 이용하여 그 길이를 제한할 수 있으나, 이 옵션은 넷스케이프와 익스플로러에서 작동하는 방식이 틀려서 넷스케이프에서는 영문을 기준으로 한글은 2byte로 인식한다는 것과, 익스플로러에서는 영문이든 한글이든 모두 1글자로 인식한다는 차이가 있다. 따라서 두 가지 브라우저 모두 지원하기 위해서는 이러한 옵션을 사용하는 것이 바람직하지 못하다.
charCodeAt() : 문자열 내의 특정 문자의 문자코드 값을 반환해주는 메소드.
[ex] somestr.charCodeAt(0) 이라고 하면 somestr이라는 문자열의 첫 번째 문자가 가진
문자코드를 정수형으로 반환.
function checkLength(value, maxlen) {
var len =
value.length;
for (i=0; i<value.length;i++)
len++;
if(len > maxlen)
{
alert("입력 허용 길이를
초과하였습니다.");
return
false;
} else return true;
}
본인이름 :
자기소개 :
☞ 폼 태그에서 return을 바로 쓴 것은 잘못된 값의 경우 false를 반환하기 때문에
바로 그 값을 onChange의 이벤트 핸들러 자체의 반환값으로 처리하면
브라우저에서 값의 변경을 제대로 처리 종료하지 않고 커서를 움직이지 않게 하려한 것이다.
이벤트 핸들러의 최종 반환값이 false인 경우에는
해당 이벤트는 결국 무효한 것으로 돌아가게 된다.
이러한 점을 이용해서 submit을 중간에 취소하는 루틴으로 응용할 수
있다.
'IT_Programming > JavaScript' 카테고리의 다른 글
자바스크립트로 알아내서 창크기 조절 & VBSCRIPT로 알아내서 창크기 조절 (0) | 2006.04.25 |
---|---|
서버측 자바스크립트와 클라이언트 측 자바 스크립트의 차이 (0) | 2006.04.21 |
[자바스크립트] 숫자만 입력받기 , 한글입력노, 등등.. (0) | 2006.04.20 |
[자바 스크립트] 라디오 버튼 객체의 입력값체크 (0) | 2006.04.18 |
Java script를 이용한 웹 계산기 소스 (0) | 2006.01.31 |