form表单数据封装成json格式并提交给服务器

图片描述

如图这个表单对应的数据库三个表,用jQuery添加的行,每一行的的name属性值都是一样的,如何提取每一行的值,然后以json格式post。有没有什么js插件可以实现?
这里使用了一对多的关联,所以json最好是二维的。
求解!

阅读 12.9k
6 个回答
//表单转json
$.fn.serializeJSON = function()
{
  var o = {};
  var a = this.serializeArray();
  $.each(a, function() {
    if (o[this.name] !== undefined) {
      if (!o[this.name].push) {
        o[this.name] = [o[this.name]];
      }
      o[this.name].push(this.value || '');
    } else {
      o[this.name] = this.value || '';
    }
  });
  return o;
};

jquery ajax方法里面data参数可以使用serialize()方法,这样可以把表单的全部数据通过ajax post方式传递给后台,后台用$_POST[]就可以接收到(如果后台是php的话)

不知道jquery的serializeArray()方法是否满足你的的需求

把数据存在数组里,然后用json.stringify()方法转换成json

题主,我不是很理解你所说的name属性值都一样是什么意思。如果每一行的name值都一样的话,整个表单提交或者AJAX提交后,在控制器获取到的只会是最后一个name值

新手上路,请多包涵

把name属性区分开来,控制层获取出来单独set进相应的实体。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题