如何在 HTML 表单中使用多个提交按钮?

htmlweb developmentfront end technology更新于 2024/3/28 21:00:17

通常,HTML 表单使用单个提交按钮,按下按钮时会保存记录。在某些情况下,我们需要一个包含其他提交按钮(例如"接受"或"拒绝")的表单。这些类型的按钮通常会在更新记录时尝试状态转换。

包含多个按钮的表单需要处理服务器端代码,需要知道按下了哪个按钮。通常,提交后,目标数据存储在 action 属性中,每个按钮都指向相同的位置。为了解决这个问题,我们使用 formaction 属性。每个提交按钮都需要一个不同的 [formaction] 属性。

formaction 属性指定数据发送的位置。提交表单后,将调用 formaction 属性并将数据发送到服务器。它会覆盖 <form> 元素的功能。

语法

Following is the usage of multiple submit buttons in a single form -

<form action="URL" method="post">
   <!-- Input fields here -->
   <button type="submit">BUTTON 1</button>
   <!-- This button post to custom  URL of the formaction attribute-->
   <button type="submit" formaction="URL2"> BUTTON 2 </button>
</form>

步骤

  • 使用 post 方法创建一个表单,值为您想要发送表单数据的默认 URL。

  • 根据您的需求在表单中创建输入字段。

  • 创建一个带有提交功能的按钮,该按钮将触发表单的默认 action 属性,并将输入数据发送到该 URL。

  • 创建另一个带有提交功能的按钮,并为该按钮添加 formaction 属性,并将您想要在点击此按钮时发送数据的辅助 URL 的值赋值。

  • formaction 属性会覆盖表单的 action 属性,并将数据发送到所需位置。

示例

以下示例说明如何在单个表单中使用多个按钮 −

<!DOCTYPE html>
<html>
<title>
   TutorialsPoint
</title>
<body>
   <form action="https://www.cainiaomax.com/index.html" method="post">
      Username:<br>
      <input type="text" name="username"><br>
      Email id:<br>
      <input type="text" name="password"><br><br> 
      <button type="submit" 
         formaction=" https://www.cainiaomax.com/index.htm "> HOME
      </button>
      <button type="submit" 
         formaction="https://www.cainiaomax.com/questions/index.php">Q/A
      </button>
   </form>
</body>
</html>

运行上述程序时,将显示一个包含两个输入字段和两个按钮的表单。当用户在按钮中输入详细信息时,它将被重定向到指定的 URL。

点击"主页"提交按钮时,它会导航到第一个 URL,即 https://www.cainiaomax.com/index.html。

点击"问答"提交按钮时,它会导航到第二个 URL,即 https://www.cainiaomax.com/questions/index.php

提交具有相同名称和不同文本的按钮

具有相同名称的按钮意味着程序中所有按钮的输入字段中的"name"属性相同,但按钮的值不同。

语法

以下是创建具有相同名称和不同文本的按钮的语法。

<input type="submit" name=" button" value="Select">
<input type="submit" name=" button" value="Update">
<input type="submit" name=" button" value="Delete">

在上面的代码片段中,有三个提交按钮,它们的名称相同,但值不同,例如"选择"、"更新"和"删除"。每当用户点击"按钮"时,我们都需要比较它们的值来确定用户点击了哪个按钮。

每个按钮使用不同的名称提交按钮

每个按钮都可以使用不同的名称,但使用的输入字段类型仅限于提交。

示例

在下面的代码片段中,有两个选择按钮和一个删除按钮。根据点击的按钮,服务器端脚本语言只会提交一个按钮,即使名称不同。因此,两个选择按钮可以协同工作。

<input type="submit" name=" select_button1" value="Select1">
<input type="submit" name="select_button2" value="Select2">
<input type="submit" name="delete_button" value="Delete">

使用 Formaction 属性的提交按钮

formaction 属性用于覆盖表单中的 action 属性。它有助于将提交内容发送到其他位置。

示例

以下代码片段使用 formaction 属性创建了 3 个提交按钮 −

<button type="submit" name="action" formaction="/select1">Select</button>
<button type="submit" name="action" formaction="/select2">Select</button>
<button type="submit" name="action" formaction="/update">Update</button>

如果我们点击第一个选择按钮,它会将表单提交到 /select1 URL。如果我们点击第二个选择按钮,它会将表单提交到 /select2 URL。提交后,服务器端脚本语言会导航到所选的 URL。

示例

考虑另一个示例,该示例解释了如何在单个表单中使用多个按钮 −

<html>
<head>
   <title>multiple submit button</title>
</head>
<body>
   <div>
      <form action="https://www.cainiaomax.com/index.html" method="post">
         <button type="submit" id="postback1" name="cmd" value="Save" >Save</button>
         <button type="submit" id="postback2" name="cmd" value="Update">Update</button>
         <button type="submit" id="postback3" name="cmd" value="Delete">Delete</button>
      </form>
   </div>
</body>
</html>

运行上述程序时,会显示一个包含三个按钮的表单,分别标记为"保存"、"更新"和"删除"。用户点击按钮时,页面将被重定向到相应的 URL。


相关文章


有用资源