2006. 7. 27. 17:52
1.문제의 발단
자바스크립트로 입력값에 대한 숫자 검사를 insNumber(객체명)으로
처리를 하는 부분이 있었는데
for 루프에서 무한 루프를 돌아서 브라우져 경고 메시지가 뜨는 현상이 발생함!
소스는:
for (i=1 ; i<=cnt ; i++ ) {
trafficmonth = document.ADE_Data_list.NameValue(i, "TRAFFIC_MONTH");
if (isNumber(trim(trafficmonth)) != true)
{
alert("발생년월을 숫자로 입력하세요. ");
return;
}
}
만약 수정된 행이 7번째 이후 9행이면
1,2,3,4,5,6,7,8,9,7,8,9,7,8,9,.....
이런식으로 무한 루프에 빠지게 됨...
2.원인 및 분석
: isNumber에서 사용하는 내부 변수와 for 루프에서 사용하는 변수명이
같으므로 인해 생긴 문제로 추정됨!
3.해결방안
아래의 두가지 중 하나 선택하여 해결하여 보세요!^^
해결1) 문법대로 기술한다.-기초가 중요!!!
for(var i=1; i<=cnt ; i++) 이렇게....
해결2) 변수명을 바꾼다.
for(k=1; k<=cnt ; k++) 이렇게....
'Java Script' 카테고리의 다른 글
숫자를 콤마로 변환하기 (0) | 2006.12.08 |
---|---|
자바스크립트에서 정규식... (0) | 2006.10.16 |
parseInt에 대하여2 (0) | 2005.03.09 |
상태표시줄에 키코드가 나타나는 소스 (0) | 2005.03.09 |
[자바스크립트] 법인번호 오류 찾기 (0) | 2005.03.07 |