/**

* POST 방식으로 전송하는 팝업창

* url        : 팝업창 경로

* data       : object, array

* popName    : 팝업창 이름 

* popWidth   : 팝업창 가로 길이 (생략하면 화면 넓이에 맞춰진다.)

* popHeight  : 팝업창 세로 길이 (생략하면 화면 높에에 맞춰진다.)

* popOptions : 팝업창 옵션 (생략하면 기본으로 scrollbars=yes 이다.)

* comment :

*     데이터를 json 형식으로 넘겨도 된다.

*     예) gls.openPostPopup({

*             url     : 경로

*            ,data    : json data

*            ,target  : 이름

*            ,width   : 넓이

*            ,height  : 높이

*            ,options : 옵션

*         });

*     데이터가 필요없는 부분은 json property로 넣지 않아도 된다.    

*/

SEED.openPostPopup = function(obj, data, popName, popWidth, popHeight, popOptions) {

var myPop = null;

try {

var param = null;

// json object이라면

if ( obj && typeof obj == 'object' ) {

param = {

'url'     : SEED.url(obj.url)   || ''

,'data'    : obj.data                 || []

,'target'  : obj.target               || ''

,'width'   : obj.width               || screen.availWith

,'height'  : obj.height               || screen.availHeight

,'options' : obj.options             || 'scrollbars=yes'

};

}

else {

param = {

'url'     : SEED.url(obj)       || ''

,'data'    : data                     || []

,'target'  : popName                 || ''

,'width'   : popWidth                 || screen.availWith

,'height'  : popHeight               || screen.availHeight

,'options' : popOptions               || 'scrollbars=yes'

}; 

}

if ( $.type(param.data) == "object" ) {

param.data = [param.data];

}

//랜덤한 수를 출력

var curDate   = new Date();

var ranNumber = Math.floor(Math.random() * 10000) + 1;

var strId = "";

   strId += param.target;

   strId += "_";    

   strId += (new Date()).getTime();

   strId += "_" + ranNumber;

   

var $popForm = $("<form onSummit='return false;'></form>")

.attr("name"  , strId)

.attr("id"    , strId)

.attr("method", "POST");

if ( $popForm ) {

// 배열 순회

$.each(param.data, function(i, elem) {

// 객체 순회

$.each(elem, function(key, val) { 

       $("<input type='hidden'/>")

       .attr("name" , key)

       .attr("value", val)

       .appendTo($popForm);

});

});//$.each(para.data, function(i, elem) {

$popForm.appendTo(document.body);

   myPop = SEED.openWin("", param.target, null, param.width, param.height, param.options);

   var myForm = $popForm[0];

   myForm.action = param.url;

   myForm.method = "POST";

   myForm.target = param.target;

   

   // 현재 생성한 form을 삭제한다.

   myForm.submit();

   if ( $popForm.size() > 0 ) {

    $popForm.remove();

   }

}//if ( $popForm ) {

}

catch (e) {alert(e.message);}

finally   {}


return myPop;

};


posted by 뚱2