我在html文件中找到了一个条目
'<form action="?" ... '
Run Code Online (Sandbox Code Playgroud)
我不明白它的作用.在Google中搜索未返回任何结果.实际上它是一个Django模板文件,但我没有在django模板文档中找到任何东西.
Ign*_*ams 37
它使用当前URL和空查询字符串作为表单的操作.一个空的查询字符串.空的.意思是根本没有查询字符串.查询字符串将不再存在.它不会被使用.它会消失.提交表单后将不再有查询字符串.查询字符串将消失.消失了.走了.不再成为.
action= 属性只有值。即网址。用简单的英语,一旦您的表单被处理并点击提交按钮或输入,您将被重定向到您提供给 action 属性的 URL
例子:
<form action="demo_form.asp" method="get">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)
在你的问题的情况下,如果动作是“?” 那么返回的哈希字符串将是当前 URL 加上“/?” 附加,它将带您返回到您所在的同一页面。
action="" 将解析为页面地址。动作=“?” 将解析为页面地址 + ?,这意味着一个空的片段标识符。
执行后者可能会阻止导航(新加载)到同一页面,而是尝试跳转到片段标识符中具有 id 的元素。但是,因为它是空的,所以它不会跳到任何地方。
通常,当作者不打算在使用脚本的地方使用属性时,他们只是将 # 放在类似 href 的属性中。在这些情况下,他们可以只使用 action=""(或者如果验证允许则省略它)。