/**

 * obj  : url or json data

 * data : json data

 */

my.submitWithJson = function(obj, data, target, method) {

    try {

        var param = null;       

        // json object이라면

        if ( obj && Object.prototype.toString.call(obj) === '[object Object]' ) {

            param = {

                 'url'     : obj.url                 || ''

                ,'data'    : obj.data                || {}

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

                ,'method'  : obj.method              || 'POST'

            };

        }

        else {

            param = {

                 'url'     : obj                     || ''

                ,'data'    : data                    || {}

                ,'target'  : target                  || '_self'

                ,'method'  : method                  || 'POST'

            }; 

        }

         

        //랜덤한 수를 출력

        var curDate   = new Date();

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

        var strId = "";

            strId += param.target;

            strId += "_";           

            strId += curDate.getFullYear();

            strId += curDate.getMonth();

            strId += curDate.getDay();

            strId += curDate.getHours();

            strId += curDate.getMinutes();

            strId += curDate.getSeconds();

            strId += "_" + ranNumber;

             

        var $newForm = jQuery("<form></form>")

                        .attr("name"  , strId)

                        .attr("id"    , strId)

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

        if ( $newForm ) {

            if ( Object.prototype.toString.call(param.data) === "[object Array]") {

                jQuery.each(param.data, function(index, val) {

                    var row = val;

                    jQuery.each(row, function(key, val) { 

                        jQuery("<input type='"hidden"'>")

                            .attr("name" , key)

                            .attr("value", val)

                            .appendTo($newForm);

                    });

                });

                $newForm.appendTo(document.body);

            }

            else {

                jQuery.each(param.data, function(key, val) { 

                    jQuery("<input type='"hidden"'>")

                        .attr("name" , key)

                        .attr("id"   , key)

                        .attr("value", val)

                        .appendTo($newForm);

                });

                $newForm.appendTo(document.body);               

            }

     

            var myForm = $newForm[0];

            myForm.action = param.url;

            myForm.method = param.method;

            myForm.target = param.target;

             

            myForm.submit();

            $newForm.remove();

        }//if ( $popForm ) {

    }

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

    finally   {}

}; 


posted by 뚱2