为什么formaction属性在<form>标记之外不起作用?

我们可以使formaction属性在<form>标记之外起作用。formaction属性用于为一种表单指定多个提交URL。提交表单时,Web浏览器首先检查formaction属性。

如果不存在formaction,则Web浏览器将继续在form元素上查找action属性。

示例

这是带有三个不同的提交按钮的formaction 属性的示例-

<!DOCTYPE html>
<html>
   <head>
      <title>HTML formaction attribute</title>
   </head>

   <body>
      <form method="post">
         <input type = "text" name="name"/><br>
         <button type = "submit" formaction = "btn1.php">Button1</button>
         <button type = "submit" formaction = "btn2.php">Button2</button>
         <button type = "submit" formaction = "btn3.php">Button3</button>
      </form>
   </body>
</html>

是的,formaction属性无法在form元素之外工作,但是您仍然可以通过以下方式让它们正确工作-

示例

您可以使用关联的表单ID值轻松地放置按钮并在表单外部使用formaction属性。

<!DOCTYPE html>
<html>
   <head>
      <title>HTML formaction attribute</title>
   </head>

   <body>
      <form method="post" id="newForm">
         <input type="text" name="name"/>
      </form>

      <button type="submit" formaction="btn1.php" form="newForm">Button1</button>
      <button type="submit" formaction="btn2.php" form="newForm">Button2</button>
      <button type="submit" formaction="btn3.php" form="newForm">Button3</button>
   </body>
</html>