126

我想要一个 HTML 表单提交给自己。如何使用该action属性?

  1. <form action="">
  2. <form action="#">
  3. <form action="some/address">
  4. <form>

哪个更可取?

4

5 回答 5

152

在 2013 年,有了所有 HTML5 的东西,你可以省略 'action' 属性来自行提交表单

<form>

实际上,当前 HTML5 草案的表单提交子部分不允许 action=""(空属性)。这是违反规范的。

这个其他堆栈溢出答案

于 2013-05-28T19:39:23.497 回答
30

使用?

<form action="?" method="post">

它会将用户发送回同一页面。

于 2016-04-17T20:02:11.480 回答
24

您可以将操作属性留空。表单将自动在同一页面中提交。

<form action="">

根据w3c 规范,action 属性通常必须是非空的有效 url。对于某些可能将操作属性留空的情况,也有解释。

元素的动作是元素的formaction 属性的值,如果该元素是一个提交按钮并且具有这样的属性,或者它的表单所有者的action 属性的值,如果它有一个,或者是空字符串。

所以它们仍然有效并且有效:

<form action="">
<form action="FULL_URL_STRING_OF_CURRENT_PAGE">

如果您确定您的受众正在使用 html5 浏览器,您甚至可以省略 action 属性:

<form>
于 2012-11-22T21:27:04.893 回答
16

如果您使用 php 提交表单,请务必使用:

action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"

为了安全。

于 2016-09-05T11:59:44.833 回答
0

您可以在 action 属性上使用同一页面:action='<yourpage>'

于 2012-11-22T21:23:56.887 回答