【问题标题】:Form is not appearing but its content does表单未出现,但其内容出现
【发布时间】:2012-11-26 10:50:36
【问题描述】:

我有这段代码:

<div>
   <form name='profileForm' id='profileForm' action='' method='get'>
      <input type='submit' name='ProfileBtn' id='ProfileBtn' class='buttonC' value='My Profile' />
   </form>
<br />
   <form name='logoutForm' id='logoutForm' action='' method='get'>
      <input type='submit' name='LogOutBtn' id='LogOutBtn' class='buttonC' value='Logout' />
   </form>
</div>

当我呈现上面的“profileForm”时,不会出现(尽管 profileBtn 确实出现了)。 第二种形式没有问题,这很奇怪,因为它们都很相似。

这可能是一个简单的问题,但我不知道是什么问题。

【问题讨论】:

  • 你是什么意思“配置文件表单没有出现,但按钮出现”?表单元素只是一个容器,就像一个 div,如果它没有附加 CSS,它就不会显示在页面上。如果要使其可见,请使用 CSS 为表单元素附加边框或背景
  • 这个问题你需要演示一下,因为你发布的html没有明显的问题。
  • 好吧,这很奇怪link,在这里它工作正常,但是当我运行我的网站并检查开发者控制台时,profileBtn 没有被我在开发者控制台中的任何形式 @Matanya 包围。跨度>
  • @DavidThomas ..?任何人..?
  • 如果在查看从服务器接收到的源时显示,但在控制台中没有显示,可能是由于页面加载后 JS 脚本将其删除

标签: html forms appearance


【解决方案1】:

这只是在我使用 Chrome 时发生的——因为我有一个表单中的表单。看起来 Chrome 刚刚去掉了

打开和关闭标签,因为我的表单在另一个表单中。当我将一个表单移到另一个表单之外时,两个 &lt;form&gt; 标记都按预期呈现在 html 中。
Crackermann 在他的回答中也谈到了这一点。

如果没有看到您的完整 html,很难给出直接的解决方案,但我猜这是您的问题 - 您需要确保您的表单不在另一个表单中。非常简单的例子来说明这一点:

另一个表单中的表单,请注意您是否在 Chrome 中运行此代码并检查 未呈现

<html>
<head></head>
<body>
	<form id="form1">
		<div>form within a form</div>
		<form id="form2">
			<input type="text" placeholder="name" /><br/>
			<input type="text" placeholder="title" />
		</form>
	</form>
</body>
</html>

如果您将 form2 移到 form1 之外,请在 Chrome 中运行代码并检查,然后

呈现

<html>
<head></head>
<body>
	<form id="form1">
		<div>form2 moved outside of form1</div>
	</form>
	
	<form id="form2">
		<input type="text" placeholder="name" /><br/>
		<input type="text" placeholder="title" />
	</form>
</body>
</html>

【讨论】:

  • 完美解决方案!
  • 这一直是个问题。正确答案。
  • 谢谢你!几天来我一直在摸不着头脑,想知道为什么我的表单不会提交,为什么有时它甚至不会在 chrome 中显示
    字段,在页面顶部修复了它,奇怪的是,所有打开的标签都被关闭了,并且 在那里,但无论如何,你救了我的理智!
【解决方案2】:

然后不知何故,表单出现了一个奇怪的问题,按钮没有显示,因为当我运行网站时,“profileForm”以某种方式消失了(并且没有出现在控制台中)。 我所做的是在“profileForm”之前添加第三个表单,它以某种方式解决了这个问题。

【讨论】:

  • 这也发生在我身上,没有充分解释的原因,这个“修复”奏效了。除了 css/javascript 之外,我还大量使用了金字塔和 mako 模板。啊。也许是浏览器的错误?
  • 这真的很奇怪。这也是我的解决方案。像魅力一样工作......不知道为什么。
【解决方案3】:

在这些行之前,您的代码中有一个未闭合的 HTML TAG,例如

Find and close that form

只需将&lt;/form&gt; 放在您的代码之前。

【讨论】:

    【解决方案4】:

    只需在表单顶部放置一个空表单即可。 然后所有的表单都会显示表单id

    <form></form>
    
    <form name='profileForm' id='profileForm' action='' method='get'>
          <input type='submit' name='ProfileBtn' id='ProfileBtn' class='buttonC' value='My Profile' />
    </form>
    
    <form name='logoutForm' id='logoutForm' action='' method='get'>
          <input type='submit' name='LogOutBtn' id='LogOutBtn' class='buttonC' value='Logout' />
    </form>
    

    【讨论】:

      【解决方案5】:

      在打开下一个表单之前检查您没有未关闭的表单元素。

      如果这样做,浏览器将生成源代码而不显示后续的表单打开和表单关闭对。

      【讨论】:

        【解决方案6】:

        尝试查看您的页面源代码

        对于 Mac 用户 Option + Command + U

        对于 Windows 用户 Ctrl + U

        然后检查您指定的&lt;form&gt; 标记上方是否有任何未关闭的&lt;form&gt; 标记并关闭它。

        对我有用,希望对你也有用

        【讨论】:

          猜你喜欢
          • 2015-10-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-12-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多