【问题标题】:add array to serialized form data [closed]将数组添加到序列化的表单数据 [关闭]
【发布时间】:2020-05-23 11:14:51
【问题描述】:

我想更新表格中的选定行。每行都有一个 id(id 来自数据库中的表)。所以我尝试将这些 id 添加到序列化数据中。数组如下所示:

["1", "3"]

表单数据:

{"f_name":["tom","peter"],"l_name":["fel", "dan"]}

我想收到这个:

{"id":["1","3"],"f_name":["tom","peter"],"l_name":["fel", "dan"]}

我怎样才能做到这一点?

演示:https://jsfiddle.net/t6xkbdo0/

【问题讨论】:

  • 嗯,formData.id = ["1", "3"]?
  • @Ele 没有任何反应。 formData 还是一样的。 ://
  • 请发布一个可验证的示例。
  • @Ele jsfiddle.net/t6xkbdo0 我需要 formData 中的 id,以便我可以使用循环更新数据库。

标签: javascript php jquery serialization


【解决方案1】:

您可以减少元素以构建所需的输出,最后您必须在请求中将 js 对象作为正文发送。

let formData = Array.from(document.querySelectorAll('input')).reduce((a, i) => {
  if (!i.disabled) {
    (a[i.name] || (a[i.name] = [])).push(i.value);
  }
  return a;
}, {id: ['2', '3']});

console.log(formData);

【讨论】:

  • 感谢您的回答。我会将其保存以用于进一步的项目。我找到了一种更简单的方法来处理这个:)。但我还是赞成你的帖子。
猜你喜欢
  • 2013-11-07
  • 2016-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-16
  • 1970-01-01
  • 2013-05-26
相关资源
最近更新 更多