20

我有这段代码:

<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 确实出现了)。第二种形式没有问题,这很奇怪,因为它们都很相似。

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

4

5 回答 5

39

这只是在我使用 Chrome 时发生的 - 这是因为我在表单中有一个表单。看起来 Chrome 刚刚去掉了 <form> 打开和关闭标签,因为我的表单在另一个表单中。当我将一个表单移到另一个表单之外时,两个<form>标签都按预期呈现在 html 中。
Crackermann 在他的回答中也谈到了这一点。

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

另一个表单中的表单,请注意您是否在 Chrome 中运行此代码并检查<form id="form2"> 是否未呈现

<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 中运行代码并检查,然后呈现<form id="form2" >

<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>

于 2016-01-28T23:58:46.873 回答
10

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

于 2012-12-10T13:17:48.633 回答
7

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

Find and close that form

或者

只是放在</form>你的代码之前。

于 2016-08-16T09:30:48.310 回答
7

只需在表单顶部放置一个空表单即可。然后所有表单都将显示为表单 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>
于 2019-07-28T06:40:45.497 回答
1

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

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

于 2015-06-17T09:19:45.313 回答