使用 <a> 标记而不是 <form> 标记创建菜单和表单


creating menus and forms using <a> tag instead of <form> tag?

我正在尝试正确学习html,但我在这里仍然是新手。我的问题:

  1. 仅使用 <a> 标记创建菜单是否是一种好的做法?
  2. 仅使用 <a> 标记创建表单是否是一种好的做法?
  3. 如果是,为什么使用<form>标签创建它们的做法不好?

问题背后的原因是我也为登录表单和菜单都使用<form>做了一个网页。但我被建议只使用<a>标签。我知道它可能适用于主菜单,但我发现使用标签创建功能正常的登录表单要简单得多(因为我可以使用操作、目标、方法等属性,并且我可以使用提交输入类型。否则我将不得不编写函数来替换所有这些功能)。

我希望你不要觉得这个问题愚蠢,甚至最糟糕的是重复。非常感谢

菜单和表单是完全不同的东西。菜单用于浏览网站,而表单用于将数据从客户端发送到服务器。

通常,您将构建带有<a>标签的菜单。从技术上讲,它可以结合使用<input type="button">和Javascript来完成,例如<input type="button" onclick="window.location.href='newpage.html'" name="Other page">但很少有需要这种情况。它很混乱,需要更多的代码,并且不受支持(因为用户可以禁用Javascript,或使用不支持它的浏览器)。

表单必须使用<form><input>标签(也有<textarea>)构建,几乎没有其他选择。

作为参考,这里有一个示例菜单(编辑:需要CSS才能使其看起来像标准菜单):

<nav>
    <ul>
        <li><a href="index.html">Home</a></li>
        <li><a href="about.html">About us</a></li>
        <li><a href="contact.html">Contact us</a></li>
    </ul>
</nav>

和一个示例表单:

<form method="POST" name="login" action="process.php">
    <input type="text" name="user">
    <input type="password" name="pass">
    <input type="submit" name="submit">
</form>

也许这将有助于为您澄清这两个概念。