Javascript 技术测试HTML中非常奇怪的名称属性

Javascript 技术测试HTML中非常奇怪的名称属性,javascript,html,Javascript,Html,我已经收到了下面的html代码: 名字 姓 <td><input type="text" name="people[][surname]" value="Stelling" /></td> </tr> <tr> <td><input type="text" name="people[][firstname]" value="Chris" /></td>

我已经收到了下面的html代码: 名字 姓

        <td><input type="text" name="people[][surname]" value="Stelling" /></td>
    </tr>
    <tr>
        <td><input type="text" name="people[][firstname]" value="Chris" /></td>
        <td><input type="text" name="people[][surname]" value="Kamara" /></td>
    </tr>
    <tr>
        <td><input type="text" name="people[][firstname]" value="Alex" /></td>
        <td><input type="text" name="people[][surname]" value="Hammond" /></td>
    </tr>
    <tr>
        <td><input type="text" name="people[][firstname]" value="Jim" /></td>
        <td><input type="text" name="people[][surname]" value="White" /></td>
    </tr>
    <tr>
        <td><input type="text" name="people[][firstname]" value="Natalie" /></td>
        <td><input type="text" name="people[][surname]" value="Sawyer" /></td>
    </tr>
</table>
<input type="submit" value="OK" />

        <td><input type="text" name="people[][surname]" value="Stelling" /></td>
    </tr>
    <tr>
        <td><input type="text" name="people[][firstname]" value="Chris" /></td>
        <td><input type="text" name="people[][surname]" value="Kamara" /></td>
    </tr>
    <tr>
        <td><input type="text" name="people[][firstname]" value="Alex" /></td>
        <td><input type="text" name="people[][surname]" value="Hammond" /></td>
    </tr>
    <tr>
        <td><input type="text" name="people[][firstname]" value="Jim" /></td>
        <td><input type="text" name="people[][surname]" value="White" /></td>
    </tr>
    <tr>
        <td><input type="text" name="people[][firstname]" value="Natalie" /></td>
        <td><input type="text" name="people[][surname]" value="Sawyer" /></td>
    </tr>
</table>
<input type="submit" value="OK" />

您看到名称属性是如何定义的了吗?我以前从来没见过!看起来像一个2d数组,但用于HTML中的名称?有人能给我解释一下吗,我真的很想重写它,看起来逻辑和模型混合在一起了

就HTML而言,它只是一个名称。它没有特别的意义。它将像任何其他字符串一样进行编码

        <td><input type="text" name="people[][surname]" value="Stelling" /></td>
    </tr>
    <tr>
        <td><input type="text" name="people[][firstname]" value="Chris" /></td>
        <td><input type="text" name="people[][surname]" value="Kamara" /></td>
    </tr>
    <tr>
        <td><input type="text" name="people[][firstname]" value="Alex" /></td>
        <td><input type="text" name="people[][surname]" value="Hammond" /></td>
    </tr>
    <tr>
        <td><input type="text" name="people[][firstname]" value="Jim" /></td>
        <td><input type="text" name="people[][surname]" value="White" /></td>
    </tr>
    <tr>
        <td><input type="text" name="people[][firstname]" value="Natalie" /></td>
        <td><input type="text" name="people[][surname]" value="Sawyer" /></td>
    </tr>
</table>
<input type="submit" value="OK" />

处理它的服务器端代码可能赋予它特殊的含义。PHP尤其会将具有类似名称的字段转换为数据数组。

在PHP中,您将得到如下结果:

        <td><input type="text" name="people[][surname]" value="Stelling" /></td>
    </tr>
    <tr>
        <td><input type="text" name="people[][firstname]" value="Chris" /></td>
        <td><input type="text" name="people[][surname]" value="Kamara" /></td>
    </tr>
    <tr>
        <td><input type="text" name="people[][firstname]" value="Alex" /></td>
        <td><input type="text" name="people[][surname]" value="Hammond" /></td>
    </tr>
    <tr>
        <td><input type="text" name="people[][firstname]" value="Jim" /></td>
        <td><input type="text" name="people[][surname]" value="White" /></td>
    </tr>
    <tr>
        <td><input type="text" name="people[][firstname]" value="Natalie" /></td>
        <td><input type="text" name="people[][surname]" value="Sawyer" /></td>
    </tr>
</table>
<input type="submit" value="OK" />
PHP
通常用于多个记录/模型这就是在具有相同名称的表单中定义输入元素的方式。它将你的数据组织在一个数组中。我只想指出这些都是。谢谢你,我想是这样的,我觉得这很不自然,我觉得这应该在JS中完成,而不是HTML本身。