냐냐한 IT/냐냐한 JavaScript

javascript(jquery)로 폼 생성 및 Submit

소소하냐 2019. 10. 23. 21:55

예전에 작업했던 내용들을 기억/기록하기 위해 남기는 포스팅입니다. 

 

 

폼 생성 및 Submit 

 

function postFormMakeSubmit(actionUrl, params) {
    $makeFrm = $('<form action="' + actionUrl + '" method="post"></form>');

    for (var key in params) {
        if (params.hasOwnProperty(key)) {
            $makeFrm.append('<input type="hidden" name="' + key + '" value="' + params[key] + '"/>');
        }
    }

    $('body').append($makeFrm);

    $makeFrm.submit();

}

 

폼 생성 및 새창으로 Submit 

 

function postFormMakeSubmitWindowOpen(actionUrl, params, targetName, openOption) {
    try{
        var pop = window.open('about:blank', targetName, openOption);
        
        $makeFrm = $('<form action="' + actionUrl + '" method="post" target="' + targetName + '"></form>');

        for (var key in params) {
            if (params.hasOwnProperty(key)) {
                $makeFrm.append('<input type="hidden" name="' + key + '" value="' + params[key] + '"/>');
            }
        }

        $('body').append($makeFrm);
    
        $makeFrm.submit();
        pop.focus();
        $makeFrm.remove();
    } catch (e) { alert(e.message);}
}

 

사용 예 : 

 

// 1. 
function fn_ex1(param) {
    postFormMakeSubmit('/path1/path2', { param: param });
}

// 2. 
function fn_ex2(seq) {
	postFormMakeSubmit('/path1/path2', $('#frm').serializeObject()); //#frm 은 form의 id
}

// 3. 
function fn_ex3(param1, param2, param3) {
    postFormMakeSubmitWindowOpen('/path1/path2', 
    	{ param1: param1, param2: param2, param3: param3 }, 
        'targetName', 'scrollbars=no, width=600, height=520');
}