【问题标题】:element "button" not allowed as child of element "form"元素“按钮”不允许作为元素“表单”的子元素
【发布时间】:2015-01-04 17:41:30
【问题描述】:

Netbeans 告诉我以下错误:

element "button" not allowed as child of element "form"    

这是我的代码:

<form action="traeger.php" method="post"><button name="traeger" type="submit" value="1" class="button">XYZ</button></form>    

一切正常,但错误代码让我很头疼。

【问题讨论】:

    标签: html forms button netbeans


    【解决方案1】:

    使用&lt;input type="submit" class="button" value="Submit"&gt; 而不是&lt;button type="submit"&gt;XYZ&lt;/button&gt;

    【讨论】:

    • 有可能。但是我的代码有什么问题?通过一个按钮,我可以在 CSS 中调整许多漂亮的东西
    • 没有理由不能使用按钮(除了 IE6 和 IE7 兼容性问题)。但是如果您想摆脱错误,您仍然可以使用 css 设置输入字段的样式。就像你用你的按钮一样给它一个类:&lt;input type="submit" class="button" value="Submit"&gt;
    【解决方案2】:

    This is what the specification says。在&lt;form&gt; 元素内使用&lt;button&gt; 元素是完全可以的。我猜 Netbeans 在这里没有反映 HTML5 规范,而是之前的规范(不确定在 HTML4 中是否不允许这样做,但我怀疑是这样)。

    如果您不需要或不想这样做,则无需更改标记或切换到输入。

    【讨论】:

      【解决方案3】:

      Netbeans 似乎应用了遵循 HTML 4.01 严格规则的语法检查,根据该规则,form 元素不得包含任何文本级(内联)子级,即所有文本级后代必须包装在块级容器。这纯粹是正式的(并且值得怀疑),并且对功能的影响最小。但要使消息静音,请使用 div 包装器:

      <form action="traeger.php" method="post">div><button name="traeger" type="submit"
      value="1" class="button">XYZ</button></div></form>    
      

      【讨论】:

        【解决方案4】:

        HTML 文件中的 DTD 是什么?如果它是针对 HTML 4.01 的,那么您不能因为这个有效的“错误”而责怪 NetBeans。拥有&lt;!DOCTYPE html&gt;,对我来说效果很好

        【讨论】:

          猜你喜欢
          • 2015-09-10
          • 1970-01-01
          • 2013-12-08
          • 2018-08-10
          • 2019-10-19
          • 1970-01-01
          • 2013-01-12
          • 2013-07-29
          • 1970-01-01
          相关资源
          最近更新 更多