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

时间:2013-10-02 20:13:32

标签: javascript jquery

我想做的事情:

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

基本功能正常:

例如,用户选择一个'文本'阻止,它添加如下:

<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>

问题:

但是,某些块对每个字段都有多个值。例如,&#39; gallery&#39;块,有多个图片网址,图片标题等。我找到一个合适的方法来组合多个值并提交。

现在我将它们添加到带有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 个答案:

答案 0 :(得分:1)

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