<form action ="#">和<form method ="post"action ="#>怎么办?

San*_*ech 61 html

我正在读一本关于HTML开发的书(我很擅长),尽管这本书刚刚在一个月前(2011年11月)发布了第一本书,但作者是一位经验丰富的编码员,可能会#用于表格中的行为是老派?

因为我试图获得示例代码的要点,我找不到form action="#"尽管搜索的解释

<form action="#">   
Run Code Online (Sandbox Code Playgroud)

在谷歌上,在SO上,在www.w3schools.com上.

任何人都知道这个#动作对表单的意义吗?

MEU*_*ULT 66

操作通常指定表单提交的文件/页面(使用方法参数中描述的方法(post,get等))

一个动作#表示表单停留在同一页面上,只需用url后缀url #.类似的用途发生在锚中.<a href=#">Link</a>例如,将保持在同一页面上.

因此,表单被提交到同一页面,然后处理数据等.

  • @Nik因为有时您的服务器操作非常简单,无法在一个页面上操作.我在PHP中构建一个简单的数据库查找页面时经常使用它.这比简单操作有两个页面简单. (3认同)
  • 该页面只是回传给自己呢? (2认同)
  • 确切地说,尽管我看不到action =“ page.php”和action =“#”有什么不同(假设page.php是当前页面),两者最终都会刷新页面,请考虑使用ajax提交。 (2认同)
  • @Nik 说得对。在该页面上,您可以构建关于是处理发布的输入还是等待提交的决策逻辑。 (2认同)

Sha*_*531 22

action=""将解析为该页面的地址.action="#"将解析为页面的地址+ #,这将意味着一个空的片段标识符.

执行后者可能会阻止导航(新加载)到同一页面,而是尝试跳转到片段标识符中具有id的元素.但是,因为它是空的,它不会跳到任何地方.

通常,作者只是#在他们不打算使用他们使用脚本的属性时放入类似href的属性.在这些情况下,他们可以使用action=""(或在验证允许时省略它).


Hun*_*rio 6

显然在HTML5之前需要"动作"(而#只是一个支持),但您不再需要使用它.- https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms/Sending_and_retrieving_form_data