我现在的情况是这样的,在一个jsp页面上有好几组控件(单选按钮,输入框,多选框 等等)
我想把页面上的数据提交给后台的时候,以一个json数据格式传到后台,请问怎么做哦,能给我一个例子吗?

解决方案 »

  1.   

    jquery.form.js 有这个插件,比较方便。 想知道原理就看他的代码//取值
        $.fn.formToArray = function(semantic) {
            var a = [];
            if (this.length == 0) return a;        var form = this[0];
            var els = semantic ? form.getElementsByTagName('*') : form.elements;
            if (!els) return a;
            for (var i = 0, max = els.length; i < max; i++) {
                var el = els[i];
                var n = el.name;
                if (!n) continue;            if (semantic && form.clk && el.type == "image") {
                    // handle image inputs on the fly when semantic == true
                    if (!el.disabled && form.clk == el) {
                        a.push({ name: n, value: $(el).val() });
                        a.push({ name: n + '.x', value: form.clk_x }, { name: n + '.y', value: form.clk_y });
                    }
                    continue;
                }            var v = $.fieldValue(el, true);
                if (v && v.constructor == Array) {
                    for (var j = 0, jmax = v.length; j < jmax; j++)
                        a.push({ name: n, value: v[j] });
                }
                else if (v !== null && typeof v != 'undefined')
                    a.push({ name: n, value: v });
            }        if (!semantic && form.clk) {
                // input type=='image' are not found in elements array! handle it here
                var $input = $(form.clk), input = $input[0], n = input.name;
                if (n && !input.disabled && input.type == 'image') {
                    a.push({ name: n, value: $input.val() });
                    a.push({ name: n + '.x', value: form.clk_x }, { name: n + '.y', value: form.clk_y });
                }
            }
            return a;
        };
      

  2.   

    最简单就是自已拼json格式,然后将json字符串放到hidden中一起提交给服务器
    {文本框:值,多选框[值1,值2],单选框:值}