29

I have found an entry in html file

'<form action="?" ... '

I do not understand what it does. Search in Google returned no results. Actually it is a Django template file, but I didn't find anything in django template documentation.

4

6 回答 6

41

它使用带有空查询字符串的当前 URL 作为表单的操作。一个的查询字符串。。意味着根本没有查询字符串。查询字符串将不再存在。它不会被使用。它会消失的。提交表单后将不再有查询字符串。查询字符串将消失。消失了。走了。变得没有了。

于 2013-07-22T07:13:44.410 回答
6

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>

在你的问题的情况下,如果动作是“?” 那么返回的哈希字符串将是当前 URL 加上“/?” 附加,它将带您回到您所在的同一页面。

action="" 将解析为页面的地址。动作=“?” 将解析为页面的地址 + ?,这意味着一个空的片段标识符。

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

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

于 2013-07-22T07:25:20.730 回答
4

'<form action="?" ... '提交表单时从 URL 中去除查询字符串,并将表单提交到当前文档地址(即自身)。

这是什么意思:

让我们使用以下 URL 作为示例:

ExampleSite.com**?SearchTerm1=chocolate&SearchTerm2=cake**

此 URL 包含查询字符串 ' ?SearchTerm1=chocolate&SearchTerm2=cake ' 并将该查询字符串发送到附加到 URL 的网站服务器。

有时,您希望确保传递给服务器的 URL 被去除任何查询字符串(即查询字符串被完全删除)并且只传递 URL。

假设您使用完整的 URL 和查询字符串ExampleSite.com为页面添加了书签?SearchTerm1=chocolate&SearchTerm2=cake****

现在您进入该页面,并且有一个搜索表单。

您决定使用搜索表单来搜索新内容...

'<form action="?" ... ',如上所述,在提交表单时从 URL 中删除查询字符串,并将表单提交到它来自的同一页面(通常是“控制器”(一个带有编程的页面,用于确定如何处理发送的信息)由用户))。

于 2016-11-21T20:22:02.490 回答
1
<form name="test" action="process.php" method="get">
<input type="submit" value="Submit">

process.php单击提交按钮后,此处使用的操作将带您进入页面。简而言之,用于在填写表单并提交后action=转到指定页面(在 中提到)。action=

于 2013-07-22T09:22:29.190 回答
1

当我们不知道要通过的 url 提交表单时,我们可以这样指定,它将通过在 url 上附加问号(?)来重新加载相同的页面。

即,表单是为同一页面本身提交的。它标识表单被重新加载。

注意:我们可以将 action 属性留空,即使它会起作用!

于 2013-07-22T07:23:50.383 回答
-1

action 是表单中使用的属性,用于指定提交表单时将处理输入控件的文件的 URL

于 2016-04-19T09:37:47.417 回答