为什么我不能在带有 URL 片段的页面上提交表单?

Why can't I submit a form on a page with a URL Fragment?

提问人:Warren Spencer 提问时间:11/17/2023 更新时间:11/17/2023 访问量:19

问:

今天偶然发现了这个,不确定我是否明白发生了什么。

我在页面上有一个表格;如果页面没有 URL 片段,我可以提交表单以重新加载页面,无论我是否更改了表单中的任何内容。

但是,如果页面具有 URL 片段,则仅当表单中的某些内容与页面的查询参数发生更改时,我才能提交表单;如果表单中没有任何更改,浏览器将不允许我提交它以重新加载页面

小提琴链接: https://codesandbox.io/s/html-forms-forked-4v3zyx?file=/index.html

  1. 在浏览器窗口中,在输入字段中输入 abc 并点击提交;当表单提交且页面重新加载时,文本应从输入字段中消失
  2. 将浏览器中的 URL 更新为:https://4v3zyx.csb.app/?inp=abc 并按回车键
  3. 在输入字段中输入 ABC 并点击提交;文本应从输入字段中消失,因为表单已提交且页面已重新加载
  4. 将浏览器中的 URL 更新为:https://4v3zyx.csb.app/?inp=abc#any-fragment-here 并按回车键
  5. 在输入字段中输入 ABC 并点击提交;文本不应从输入字段中消失,因为无论发生什么,都阻止了表单的提交
  6. 将文本更改为其他任何内容并点击提交,页面应像在步骤 1 和 3 中一样提交

我不明白为什么 - 我在 edge、chrome 和 firefox 中看到这种行为 - 有人知道发生了什么吗?

HTML 表单 url-fragment

评论


答: 暂无答案