如何使用不同的名称收集输入值?

时间:2012-01-14 02:43:05

标签: php html forms

我有3个下拉选择输入和一个textarea输入。我认为使所有名称都相同是无效的,因此,每个输入都有不同的名称,尽管我可以使它们都以相同的字符串开头。 在表单提交上,我想将所有输入值合并为一个。 我只能想出一个隐藏的输入来收集价值,但我不知道如何编码。请帮忙!

<ul>
    <li>
        <select id="input-first_dropdown" name="property-first_dropdown">
                <option>Option 1</option>
                <option>Option 2</option>
                <option>Option 3</option>
        </select>
    </li>
    <li>
        <select id="input-second_dropdown" name="property-second_dropdown">
                <option>Option 1</option>
                <option>Option 2</option>
                <option>Option 3</option>
        </select>
    </li>
    <li>
        <textarea id="input-textarea" name="property-textarea">test</textarea>
    </li>
</ul>

2 个答案:

答案 0 :(得分:1)

您可以为不同的输入字段(但不是相同的name值)使用相同的id属性值。然后将提交数据,以便有多个具有相同名称的名称=值对。是否以及如何处理服务器端是另一回事。通常,使用不同的名称更容易。在服务器端处理中,您可以根据需要组合数据。

您无法在“表单提交”(即客户端)上可靠地组合输入字段。虽然在JavaScript中很容易做到这一点,但是没有必要,因为你不应该依赖于在浏览器中启用JavaScript。

答案 1 :(得分:0)

你可以这样做:

<ul>
    <li>
    <select id="input-first_dropdown" name="property[]">
        <option>Option 1</option>
        <option>Option 2</option>
        <option>Option 3</option>
    </select>
    </li>
    <li>
    <select id="input-second_dropdown" name="property[]">
        <option>Option 1</option>
        <option>Option 2</option>
        <option>Option 3</option>
    </select>
    </li>
    <li>
    <textarea id="input-textarea" name="property[]">test</textarea>
    </li>
</ul>

在您的表单处理器中尝试print_r($_POST['property'])