DynamicFormManager 다이나믹 폼 생성 함수
/*
다이나믹 폼 생성
DynamicFormManager
var myForm = new DynamicFormManager('get', 'b.jsp');
myForm.addElement('test1', 'value1');
myForm.addElement('test2', 'value2');
myForm.addElement('test3', 'value3');
myForm.addElement('test4', 'value4');
myForm.addElement('test5', 'value5');
필요에 따라서 action, method, name 등을 변경하여준다.
//myForm.setName('sendForm');
//myForm.setMethod('post');
//myForm.setAction('abc.jsp');
myForm.submit();
*/
function DynamicFormManager(method, action, name) {
this.form = document.createElement('<form></form>');
this.form.method = method;
this.form.action = action;
this.form.name = name ? name : 'DynamicForm';
this.addElement = function(name, value) {
if(!this.form) {
alert('폼 생성이 안되었습니다');
return;
} else if(name == null || name == "") {
alert('이름이 없습니다');
return;
}
var input = document.createElement('<input></input>');
input.type = 'hidden';
input.name = name;
input.value = value == null ? "" : value;
this.form.appendChild( input );
input = null;
}
this.make = function() {
var div = document.createElement('<div></div>');
div.style.display = 'none';
div.appendChild(this.form);
document.appendChild(div);
}
this.submit = function(target) {
if(target == null || target == "") {
var winName = 'submitWindow' + Math.random() * 10;
winName = winName.substr(0, 13);
var userwidth = screen.availWidth;
var userheight = screen.height;
var status = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width='+userwidth+',height='+userheight+',top=0,left=0';
var win = window.open('about:blank', winName, status);
win.resizeTo(1280, 1000);
this.form.target = winName;
} else {
this.form.target = target;
}
this.make();
this.form.submit();
}
this.setAction = function(action) {
this.form.action = action;
}
this.getAction = function(action) {
return this.form.action;
}
this.setMethod = function(method) {
this.form.method = method;
}
this.getMethod = function() {
return this.form.method;
}
this.setName = function(name) {
this.form.name = name;
}
this.getName = function() {
return this.form.name;
}
}