嵌入在<table>标记中的HTML表单无法正确呈现?

BSalunke

我有以下简单的HTML形式:

<html>
<head>
</head>
<body>
   <table border="0" cellpadding="2" cellspacing="0" width="400">
        <form name="logon" method="post" id="logon" action="take.php">
          <tr>
                <td tabindex="0">User ID </td>
                <td>
                        <input name="login"  maxlength="12" size="15" value="" title="User ID">
                </td>
                <td class="loginlabel">&nbsp;</td>
          </tr>

          <tr>
                <td tabindex="0">Password </td>
                <td>
                        <input type="password" name="password"  maxlength="12" size="15" value="">
                </td>
                <td class="lable">&nbsp;</td>
          </tr>

          <tr>
                 <td colspan="3">
                    <p class="pushButton"><button type="submit" form="nameform" value="Submit">Submit</button></p>
                </td>
          </tr>

        </form>
   </table>
</body>
</html>

当我在任何浏览器中打开此页面并检查元素时,我发现HTML表单的结构很怪异。我发现<form>标签在启动后立即关闭,请查找html表单检查的屏幕截图,嵌入在<table>标记中的HTML表单检查的图像

这背后的原因是什么?

扎克·韦伯

在HTML中,当您在另一个标签中打开一个标签时,打开的标签(在您的情况下为该<form>标签)会在其父标签关闭时被清除。

因此(例如):

<p><form></p>
<p></form></p>

将导致以下结果:

<p><form></form></p>
<p></p>

这是因为,根据W3C(在其他方面建立了HTML的国际标准),可以使用form元素的唯一上下文是可以预期流内容的地方流内容是文档和应用程序正文中使用的大多数元素,例如:流量内容


解决方案是将表格标签放置在表格上方,将表格封装在表格中,如下所示:

<form>
   <table>
   </table>
</form>

为了澄清:
你需要肯定的是,里面形式标记。请参见下面的完整示例:

<html>

  <head>
  </head>

  <body>
    <form name="logon" method="post" id="logon" action="take.php">
      <table border="0" cellpadding="2" cellspacing="0" width="400">
        <tr>
          <td tabindex="0">User ID </td>
          <td>
            <input name="login" maxlength="12" size="15" value="" title="User ID">
          </td>
          <td class="loginlabel">&nbsp;</td>
        </tr>

        <tr>
          <td tabindex="0">Password </td>
          <td>
            <input type="password" name="password" maxlength="12" size="15" value="">
          </td>
          <td class="lable">&nbsp;</td>
        </tr>

        <tr>
          <td colspan="3">
            <p class="pushButton">
              <button type="submit" form="nameform" value="Submit">Submit</button>
            </p>
          </td>
        </tr>
      </table>
    </form>
  </body>

</html>

在Chrome中使用检查功能可以证明浏览器的输出显示了嵌套在form标签内的表:
更新检查


随时提出任何其他问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Mathml在嵌入式html中无法正确呈现

来自分类Dev

将 HTML 嵌入 SVG - 如何在 HTML 命名空间元素中正确呈现 HTML 标记,与我的 SVG 内联?

来自分类Dev

查找嵌入在表单中,嵌入在表单中的表单的屏幕位置,

来自分类Dev

Mailchimp表单嵌入Bootstrap

来自分类Dev

Symfony:嵌入表单集合

来自分类Dev

将HTML标记嵌入rails标记内

来自分类Dev

在JFXPanel中嵌入JavaFX Stage(Swing嵌入)

来自分类Dev

嵌入/嵌入层在深度学习中的用途

来自分类Dev

从Tensorflow中的``嵌入列''获取嵌入向量

来自分类Dev

php 中嵌入的 html 无法正常工作

来自分类Dev

将视频嵌入HTML

来自分类Dev

将Gfy嵌入HTML

来自分类Dev

将JavaScript嵌入HTML

来自分类Dev

无法在 Joomla 中嵌入 iframe

来自分类Dev

在Recyclerview中嵌入广告

来自分类Dev

在RatingDialog中嵌入RatingBar

来自分类Dev

在Java中嵌入LuaJIT

来自分类Dev

在cfquery中嵌入cfswitch

来自分类Dev

在responseText中嵌入JSON

来自分类Dev

在C ++中嵌入Cython

来自分类Dev

在SFSafariViewController中嵌入Javascript

来自分类Dev

在AlertDialog中嵌入RatingBar

来自分类Dev

在Viewpager中嵌入ViewPageIndicator

来自分类Dev

嵌入在tomcat中的Hazelcast

来自分类Dev

在UIContainerView中嵌入UIScrollView

来自分类Dev

在responseText中嵌入JSON

来自分类Dev

在Excel中嵌入OneNote

来自分类Dev

在jwplayer中嵌入SWF

来自分类Dev

在 ScrollArea 中嵌入 QCustomPlot