JAVASCRIPT

    버튼 클릭시 "처리중입니다" 메시지 보여주기
    • 조회수 10,417
    • 작성일 2008-08-01
    •  

    <script language=javascript>

    function ButtonProcessing()
    {
        try{               
                oPopup = window.createPopup();
                var  oPopBody  =  oPopup.document.body;
                oPopBody.style.backgroundColor  =  "white";
                oPopBody.style.border  =  "solid  #dddddd 1px";

                // "처리중입니다"라는 메시지와 로딩이미지가 표시되도록 한다.
                oPopBody.innerHTML  = "<table width='100%' height='100%'><tr><td align='center' style='font-size:9pt;'>처리중입니다. 잠시만 기다려주세요...<br><img src='http://localhost/img/processbar.gif'></td></tr></table>";

                var leftX = document.body.clientWidth/2 - 150;
                var topY = (document.body.clientHeight/2) - (oPopBody.offsetHeight/2);

                oPopup.show(leftX,  topY,  300,  150,  document.body);

                // createPopup()를 이용해 팝업페이지를 만드는 경우
                // 기본적으로 해당 팝업에서 onblur이벤트가 발생하면 그 팝업페이지는 닫히게 됩니다.

                // 해당 팝업페이지에서 onblur이벤트가 발생할때마다  메소드를 재호출하여

                // 팝업페이지가 항상 표시되게 합니다.
                oPopBody.attachEvent("onblur", ButtonProcessing);
        }
        catch(e) {}
    }

    //버튼을 클릭했는지 여부를 나타내는 변수로 처리이벤트는 한번만 실행하도록 하기위해서 사용
    var IsClick=false;

    function ButtonSubmit()  //버튼 클릭시 실제로 처리해야할 메소드
    {
        if(!IsClick)
        {
                //처리해야할 내용 코드
        }
        else
        {
            alert("프로세스가 작동중입니다. 잠시 기달려주세요.");
            return false;
        }
        if(confirm('정말로 000처리를 하시겠습니까?'))
        {
            IsClick = true;  //버튼 처리를 수행중..
            ButtonProcessing();  //처리상태를 표시하는 메소드 호출
            return true;
        }
        else
            return false;
    }

    </script>