为一个输入字段提交多个值

Submitting multiple values for one input field

本文关键字:提交 字段 输入 一个      更新时间:2023-09-26

我想做什么:

我正在尝试构建一个非常简单的可视化布局构建器。这个想法是,用户选择一个块,它有一些设置,这些设置值存储在隐藏的输入中,当用户保存页面时,我将这些值存储在数据库中。

基本块正常:

例如,用户选择一个"文本"块,它是这样添加的:

<div>
    <input type="hidden" value="text" name="item_name[]">
    <input type="hidden" value="" name="item_title[]">
    <input type="hidden" value="sdsd" name="item_text[]">
</div>

问题:

但是,某些块的每个字段具有多个值。例如,"图库"块,其中包含多个图像 URL、图像标题等。我在寻找合适的方法来组合多个值并提交时遇到了问题。

现在我将它们添加到带有jQuery的字符串中,用__分隔。我可以存储数据并将其分开,但问题是,如果我想从中删除任何图像,这非常困难,因为我刚刚将它们添加到字符串中,因此很难找到并删除它。

<div>
text item
<input type="hidden" value="gallery" name="item_name[]">
<input type="hidden" value="__http://img1.jpg__http://img2.jpg" name="img_path[]">
<input type="hidden" value="__img1__img2" name="img_title[]">
<input type="hidden" value="" name="img_desc[]"></input>
</div>

问题:

对于

上述块示例发送多个值的合适方法是什么,请记住,将有多个块具有多个输入值?

谢谢。

  1. 构建一个包含所有值的 Javascript 数组。
  2. 将数组转换为 JSON
  3. 提交 JSON 作为隐藏字段的值
  4. 在服务器端,使用 PHP json_decode 函数将 JSON 转换为 PHP 对象或数组