【问题标题】:Can I use an anchor link inside a form element?我可以在表单元素中使用锚链接吗?
【发布时间】:2018-04-19 19:13:25
【问题描述】:

我有一个底部带有锚标记的网站,我想从顶部跳转到该网站。但我想将跳转链接放在表单元素中。

<form name=sortby onClick='submit()' method='get'>
  <div>
    <input type=radio name=sortby value=name onClick='submit()'>
    Sort By Name
  </div>
  <div>
    <a href='#bottom'>There are 587 entries on this page</a>
  </div>
  <div>
    <input type=radio name=sortby value=date onClick='submit()'>
    Sort By Date
  </div>
  <input type=hidden name=artist value=''>
</form>
<a id='bottom' href='#top'>Back to the top</a>

我做了一个测试,我将锚链接放在表单代码之外,它可以工作。将它放在元素中是否有一些禁忌?

我遇到的是在 Windows 7 中使用 Chrome、Firefox、Internet Explorer 浏览器中的每一个页面跳到底部并立即返回到顶部。请注意,在 Firefox 中,在跳转到就像浏览器正在处理某些东西一样。

【问题讨论】:

    标签: html forms tags anchor


    【解决方案1】:

    如果这是问题的话,链接本身不会影响表单功能。这或多或少是语义的一个例子。这不是一个很好的做法,但它也不会破坏任何东西。

    【讨论】:

    • 谁能解释一下为什么窗口跳到底部后又跳回页面顶部?顺便说一句,只有在链接位于
      元素内时才会这样做。
    • 您的页面上有#top 的锚点吗? ?
    • 当我尝试你的小提琴时,我收到错误“{”错误“:”请使用 POST 请求“}”。我的页面中没有#top,因为#top 是一个全局标记,自动表示页面顶部。
    • 不确定全局标签是什么意思。 #top 不是 HTML 中的全局属性。您可能想为顶部添加一个锚点。通常链接到任何目标为 # 的东西都会让你大吃一惊。
    • 试试看。向#top 添加锚点将带您到页面顶部,而代码中没有任何目的地。今天所有的现代浏览器都理解#top,所以即使你的 id 或 锚不在你的页面中,它仍然会让你回到页面的顶部。但是,所有其他锚点都需要在页面中定义。
    【解决方案2】:

    我发现了我的问题...顶行应该改成这样:

    <form method='get'>
    

    摆脱 onClick='submit()' 是关键。基本上单击表单元素中的任何位置都会提交表单。它从来没有让我真正点击表单元素“后面/下面”的链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-20
      • 1970-01-01
      • 1970-01-01
      • 2021-07-13
      • 1970-01-01
      相关资源
      最近更新 更多