在自己页面上提交 HTML 表单

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

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

哪个更好?

249429 次浏览

您可以使用 action 属性 action='<yourpage>'上的相同页面来完成此操作

您可以将 action 属性保留为空白。表单将自动在同一页中提交。

<form action="">

根据 W3c 规范,action 属性通常必须是非空的有效 url。对于某些操作属性可能为空的情况,还有一种解释。

如果元素是一个 Submit Button 并且有这样一个属性,那么元素的 action 就是元素的 formaction 属性的值,如果元素有这样一个属性,那么元素的 action 就是它的 form owner 的 action 属性的值,否则就是空字符串。

因此,它们仍然有效并且有效:

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

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

<form>

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

<form>

实际上,表格提交部分的当前 HTML5草案不允许 action = “”(空属性) ,它违反了规范。

来自 另一个堆栈溢出的答案

使用 ?:

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

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

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

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

为了安全。