HTML标记的位置无效

Smi*_*ile 5 html javascript java

我正在尝试使用HTML和Servlet创建一个简单的表单.一切都已设定,但我的HTML标记中有一个黄色下划线.它说:标签(输入)的位置无效,我试图在我的HTML中实现表单.

我的代码看起来很好,我没有看到问题.我究竟做错了什么?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="style.css" />
    <title>Projektuppgift1</title>
</head>
<body>
    ...
    // This is where I am getting the error
    <form action="LoginServlet" method="post">
        username: <input type="text" name="name" />
        password: <input type="password" name="password" />
        <input type="submit" value="submit" />
    </form>
    ...
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

mes*_*azs 4

form标签只能包含块元素,并且是 XHTML Strict,因此两者<span><input>无效。你可以将它包裹在一个<div>,然后就可以了。

例如:

<form action="LoginServlet" method="post">
    <div>Username: <input type="text" name="name" /></div>
    <div>Password: <input type="password" name="password" /></div>
    <div><input type="submit" value="submit" /></div>
</form>
Run Code Online (Sandbox Code Playgroud)

不过我建议不要使用XHTML,它已经成为过去,并且也有一些严重的缺点(例如IE8根本不支持它,不幸的是有些人仍然不得不使用它)。您应该使用 HTML5,它也有 XML 序列化。

  • xhtml strict 是 2004 年的......我们是 2015 年的 html5,你应该在表单中使用 &lt;fieldset&gt; 和 &lt;label&gt; 而不是 &lt;div&gt; 和 &lt;span&gt; ... (4认同)