在HTML表单中嵌套元素数组的正确方法

时间:2012-09-19 16:57:15

标签: javascript html arrays forms

我有一个包含类似项目组的HTML表单。我知道HTML没有"数组"所以我想知道什么是编写包含单个表单的内容的最佳方式,并且可以根据需要添加多个相同项目组。

<form>

    <div>
        <input name="title[]">
        <textarea name="body[]">
    </div>

    <div>
        <input name="title[]">
        <textarea name="body[]">
    </div>

    <a href="#" id="addrow">Add row</a>

    <input type="submit">

</form>

2 个答案:

答案 0 :(得分:1)

你可以这样:

<form method="post">

<input type="hidden" name="num_of_elements" value="2">

<div>
    <input name="title[0]">
    <textarea name="body[0]">
</div>

<div>
    <input name="title[1]">
    <textarea name="body[1]">
</div>

<a href="#" id="addrow">Add row</a>

<input type="submit">

当您使用javascript / php或其他任何内容添加div时,只需在隐藏输入中添加元素数量num_of_elements

然后当你用PHP提交它时,你会得到如下变量:

$count = intval($_POST['num_of_elements']);
for($i = 0; $i < $count; $i++)
{
echo $_POST["title[{$i}]"];
}

答案 1 :(得分:0)

我认为这会奏效:

<form>

    <div>
        <input name="title[0]">
        <textarea name="body[0]">
    </div>

    <div>
        <input name="title[1]">
        <textarea name="body[1]">
    </div>

    <a href="#" id="addrow">Add row</a>

    <input type="submit">

</form>