【问题标题】:Form is nesting incorrectly表单嵌套不正确
【发布时间】:2013-01-30 06:35:42
【问题描述】:

我正在使用 Node.js、Jade 和 Bootstrap。 我需要渲染一个表格,并且在每一行我都需要一个单独的表格。 我试过这个:

    - for(var i = 0; i < renditeTabellen.length; ++i) {
      tr
        form(method="POST", action="/deleteTable")
          td#tableID #{i}
          td#tableName #{renditeTabellen[i].name}
          td#tableDate nix
          td
            button#delete.btn-danger(type="submit") Speichern
    - }

但我得到这个输出:

所以form 没有以正确的方式嵌套。它应该包含一个tr 我做错了什么?

【问题讨论】:

  • HTML 表单不能嵌套。期间。

标签: html css node.js twitter-bootstrap pug


【解决方案1】:

您不能将表单直接发送到TR。将其更改为在单个 td 中呈现表单。据我所知,您甚至不需要将所有TDs 包装成一行。假设代码应该是这样的:

 - for(var i = 0; i < renditeTabellen.length; ++i) {
      tr            
        td#tableID #{i}
        td#tableName #{renditeTabellen[i].name}
        td#tableDate nix
        td
          form(method="POST", action="/deleteTable")
            button#delete.btn-danger(type="submit") Speichern
    - }

另外,请记住只有表单元素(输入、选择、按钮等)与表单一起提交,因此您需要在按钮上放置一个 value 属性,该属性应包含应删除的项目的 ID。另外,按钮应该有一个名字,所以你可以从帖子中得到它。

【讨论】:

  • 所以你是说一个表单总是发布整个页面,我可以在发布后按名称访问每个元素?如果是这样,这将是很酷的:D
  • 表单从不发布整个页面。只有表单元素:所有输入、按钮、选择、文本区域,仅此而已。但是一旦你通过按钮传递了一个 ID,你就可以从数据库中获取其他所有内容,所以我认为这里没有问题。
猜你喜欢
  • 1970-01-01
  • 2013-06-05
  • 1970-01-01
  • 1970-01-01
  • 2013-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多