Where The Streets Have No Name

createPopup을 이용하여 버튼 클릭시 "처리중입니다" 메시지 본문

Developement/Web

createPopup을 이용하여 버튼 클릭시 "처리중입니다" 메시지

highheat 2008. 10. 29. 15:21
<script language=xxjavascript>
<!--
function ButtonProcessing()
{
	try{               
    	oPopup = window.createPopup();
        var  oPopBody  =  <a href="http://oPopup.document.body;">oPopup.document.body;</a>
        <a href="http://oPopBody.style.backgroundColor">oPopBody.style.backgroundColor</a>  =  "white";
        <a href="http://oPopBody.style.border">oPopBody.style.border</a>  =  "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 = <a href="http://document.body.clientWidth/2">document.body.clientWidth/2</a> - 150;
        var topY = (document.body.clientHeight/2) - (oPopBody.offsetHeight/2);

        <a href="http://oPopup.show(leftX,">oPopup.show(leftX,</a>  topY,  300,  150,  <a href="http://document.body);">document.body);</a>

        // createPopup()를 이용해 팝업페이지를 만드는 경우
        // 기본적으로 해당 팝업에서 [안내]태그제한으로등록되지않습니다
        // -xxonblur!이벤트가 발생하면 그 팝업페이지는 닫히게 됩니다.
        // 해당 팝업페이지에서 [안내]태그제한으로등록되지않습니다
        //-xxonblur!이벤트가 발생할때마다  메소드를 재호출하여
        // 팝업페이지가 항상 표시되게 합니다.
        oPopBody.attachEvent("Buttonblur!", 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>       

 

 #####################################################

 #####################################################

 

/**************************************************************
  내    용: 작업중 화면에 표시될 사용자 메세지(조회,저장,삭제,Loading등...)
  파라미터: msgStr   - 화면에 보여줄 메세지
            li_width - 팝업윈도우 가로넓이
            li_height- 팝업윈도우 세로높이
  리 턴 값: 없음
  참고사항: msgStr 문자열이 "hidden"이면 메세지를 화면에서 제거한다.
            msgStr 문자열이 지정된 문자열 이외의 문자열이면 해당 문자열을 화면에 표시한다.
            팝업객체는 글로발 객체로 선언한다.
 **************************************************************/
var go_globalUserMagpopup   = window.createPopup();
var go_globalUserMagPopBody = <a href="http://go_globalUserMagpopup.document.body;">go_globalUserMagpopup.document.body;</a>
//go_globalUserMagPopBody.style.backgroundColor = "white";
//go_globalUserMagPopBody.style.border = "solid black 1px";

function gfn_userMsg(msgStr, li_width, li_height)
{ 

    /* 현재 윈도우의 가로, 세로 사이즈 셋팅 */
    var li_windowWidth  = <a href="http://parent.document.body.clientWidth/2;">parent.document.body.clientWidth/2;</a>
    var li_windowHeight = <a href="http://parent.document.body.clientHeight/3;">parent.document.body.clientHeight/3;</a>

    /* 메세지 문자열이 hidden이면 표시된 메세지를 숨긴다 */
    msgStr = msgStr.toLowerCase();  //파라미터로 받은 메세지 문자열을 소문자로 치환 
    if(msgStr == "hidden") { 
        //사용자 메세지 팝업을 숨긴다.
     <a href="http://go_globalUserMagpopup.hide();">go_globalUserMagpopup.hide();</a> 
    	return; 
    }  
 
    var li_xPos = 0;            //팝업창의 x위치
    var li_yPos = 0;            //팝업창의 y위치
    var li_popupWidth = 300;    //팝업 가로넓이
    var li_popupHeight= 100;    //팝업 세로높이
    var htmlStr  = "";          //사용자 메세지(HTML)

    if(li_width != undefined)  li_popupWidth  = li_width;
    if(li_height != undefined) li_popupHeight = li_height;

    if(msgStr == "save")          msgStr = "자료를 저장하는 중입니다...";
    else if(msgStr == "select")   msgStr = "자료를 조회하는 중입니다...";
    else if(msgStr == "delete")   msgStr = "자료를 삭제하는 중입니다...";
    else if(msgStr == "upload")   msgStr = "파일을 전송하는 중입니다...";
    else if(msgStr == "download") msgStr = "파일을 다운로드 중입니다...";
    else if(msgStr == "imgload")  msgStr = "이미지를 읽고있는 중입니다...";
    else if(msgStr == "loading")  msgStr = "화면을 구성하는 중입니다...";
    else if(msgStr == "working")  msgStr = "작업을 처리하는 중입니다...";

    htmlStr += '<table width="287" border="0" cellspacing="0" cellpadding="0"> ';
    htmlStr += '  <tr height="90">
                     <td align="center"valign="middle" background="/image/cbii/cm/loading_bg.gif">
                     <fontface="굴림" size="2" color="#000000"><b>';
    htmlStr += msgStr;
    htmlStr += '</b></font></td></tr>';
    //htmlStr += '  <tr><td align="center">';
    //htmlStr += '  </td><img src="/image/cbii/cm/loading_bg.gif" border="0"></td></tr>';
    htmlStr += '</table> ';
 
    /* 팝업의 x,y 위치 값 셋팅 */
    li_xPos = li_windowWidth  - (li_popupWidth/2);
    li_yPos = li_windowHeight - (li_popupHeight/2);

    go_globalUserMagPopBody.innerHTML = htmlStr;
    <a href="http://go_globalUserMagpopup.show(li_xPos,">go_globalUserMagpopup.show(li_xPos,</a> li_yPos, li_popupWidth, 
                               li_popupHeight, <a href="http://document.body);">document.body);</a>
}

출처 : http://blog.naver.com/godal/80055815852