/**
* 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;
};
RECENT COMMENT