자바스크립트 질문이요!!

자바스크립트 질문이요!!

QA

자바스크립트 질문이요!!

본문

        while(true){

        var a = prompt("100보다 큰 숫자를 입력하시오.","");

        if(a>=100){

            break;

 

        }

        alert("다시.");

            window.location.reload();

        

    }

prompt();//이렇게 여러개 있고

prompt();

prompt();

prompt();

 

100보다 큰 숫자를 입력하면 break해서  반복문 빠져나오고 a가 100보다 작으면 다시 경고창이 뜨고 100보다 큰 숫자를 다시 입력하는 창을 뜨고 100보다 크게 입력하면 정상적으로 실행되서 다음 prompt로 넘어가게 하고 싶은데 실행해보니까 잘되는데 다음 prompt로 넘어가고 다 돌면 다시 while문으로 들어가드라구요... 그래서 100보다 큰 수를 입력하면 정확하게 출력은 되는데 근데 왜 이게 다시 반복이 될까요... 이거 왜 이럴까요 ㅠ

이 질문에 댓글 쓰기 :

답변 4

다수의 필드에 틀릴때마다 alert 이후 리로드 라니..

의도된게 아니라면 사용자 입장에서 끔찍하겠군요..

 

리로드가 아니라 포커스 이후 문제가 된 필드 초기화 후

안내메시지를 모달 형태로 보여주면 좋을것 같습니다.

https://wonpaper.tistory.com/217

그냥 이런식으로 분류해서 다음 "prompt"로 넘어가는게 좋지 않을까요?

function A() {
while(true) {
    var a = prompt("100보다 큰 숫자를 입력하시오.", "");

    if (a > 100) {
        // 여기에 넣어서 다음 "prompt" 실행
        A();
        break;
    }
 
    alert("다시");
}

 

function A() {

while ...
}

 

function B() {

while ...
}

인풋에 대한 입력 감시는

일괄 채크하는것보다

포커스시 실시간으로 해당 인풋에 대해서만 채크 할수 있는 로직이

더 효율적입니다.

아래 온포커스 예제를 참조하셔서 코딩하시면 될것 같네요.

https://developersp.tistory.com/11

답변을 작성하시기 전에 로그인 해주세요.
전체 946
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT