代码之家  ›  专栏  ›  技术社区  ›  Richard JP Le Guen

HTML表单命名约定的名称

  •  8
  • Richard JP Le Guen  · 技术社区  · 15 年前

    在rails和cakephp1.2中,表单往往包含名称如下的输入元素:

    <input name="comment[author]" />
    

    “name”属性中使用的符号是否有正式名称?

    同样地,在Cakephp1.1中,我相信同样的情况会是这样的:

    <input name="comment/author" />
    

    同样,在“name”属性中使用的符号是否有一个正式名称?

    3 回复  |  直到 10 年前
        1
  •  1
  •   Todd    10 年前

    在cake php中,命名方案是多维数组访问格式的,尽管我不确定您会怎么称呼它。多维数组键控?

    official php docs 称之为“方括号符号”

    基本上,我不确定cakephp是否有这个特定的名称…这是因为它只是用于键控数组访问的“括号表示法”。

    Here's an example from the cakephp docs . 它用cakephp中的括号表示法说明了命名元素,以及如何使用它来预填充值。

    使用cake php formhelper,我们创建一个隐藏的id字段:

    echo $this->Form->hidden('id'):
    

    输出如下:

    <!-- data comes from $this->request->data -->
    <input name="data[User][id]" id="UserId" type="hidden" />
    

    假设 data[User][id] 10 ,ID为的输入 UserId 值为10。

        2
  •  4
  •   Richard JP Le Guen    10 年前

    在Rails中,这被称为表单微格式(至少是某些微格式)。许多不同的框架似乎正在第一种格式上实现标准化。我想Cakephp已经更新了它们的库以符合该标准。有 an obsessively in-depth explanation 可用,这只是一些特定的Rails。最初的微格式显然来自于PHP。

        3
  •  0
  •   JD.    11 年前

    在rails中,分配给 name 表单元素中的属性作为哈希传递给控制器 params[] 哈希,按键索引。

    <input name="username"/>
    

    将在控制器中显示为 params[:username] .

    <input name="user[name]"/>
    

    将在控制器中显示为 params[:user][:name] .

    等等。如果您想了解更多关于如何生成这些和期望的内容,请参考ActionView和ActionController文档。

    这里有一个链接指向 ActionController overview 这是一个很好的向导。