Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一种HTML5方法可以提交名称相同但标识符不同的字段?_Html_Forms - Fatal编程技术网

是否有一种HTML5方法可以提交名称相同但标识符不同的字段?

是否有一种HTML5方法可以提交名称相同但标识符不同的字段?,html,forms,Html,Forms,我想使用HTML表单提交多行字段列,唯一的区别是对应的服务器端标识符 伪: ID(257) -> Name, Color, Price ID(415) -> Name, Color, Price 我不想: 将每个组作为自己的表单,并通过JavaScript提交 连接id和实名,并在服务器上取消合并 谢谢如果您使用PHP作为服务器端语言,这很简单。只需使用括号命名字段,这是PHP中的数组语法: 伪代码: name[1] = 'Name, Color, Price' n

我想使用HTML表单提交多行字段列,唯一的区别是对应的服务器端标识符

伪:

    ID(257) -> Name, Color, Price
    ID(415) -> Name, Color, Price
我不想:

  • 将每个组作为自己的表单,并通过JavaScript提交
  • 连接id和实名,并在服务器上取消合并

  • 谢谢

    如果您使用PHP作为服务器端语言,这很简单。只需使用括号命名字段,这是PHP中的数组语法:

    伪代码:

    name[1] = 'Name, Color, Price'
    name[2] = 'Name, Color, Price'
    

    将[]附加到输入时,可以使用相同的输入名称,在PHP中,这将在提交时生成一个数组:

    <?php
    print_r($_POST);
    ?>
    
    <form method="post">
    <input type="text" name="name[257]">
    <input type="text" name="name[415]">
    <input type="submit">
    </form>
    

    所有表单值都被序列化为某种内容,然后发送到服务器。通常这是urlencoded格式,但您可以使用js将其编码为json或其他格式。您是否必须在服务器上手动“取消合并”在很大程度上取决于您选择如何对数据进行编码以及您的服务器/语言/框架是什么样子这与HTML的关系要比与服务器体系结构的关系小。PHP用此创建数组,其他语言可能不会这样做。感谢您的提示,OP没有说明他在用什么,谢谢!这就是我要找的。
    Array
    (
        [name] => Array
            (
                [257] => first field
                [415] => second field
            )
    
    )