Javascript - DynamicFormManager 다이나믹 폼 생성 함수
목록  
제 목 [폼] DynamicFormManager 다이나믹 폼 생성 함수
작성자 박세청 작성일 2012/03/08 13:07


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;
 }

}





이전글 지금 보고 있는 웹 페이지에서 창을 닫으려고 합니다. 메세지 제거
다음글 modernizr html, css3 의 element 지원여부 검사 라이브러리

목록