一页上有多个HTML表单

use*_*493 8 html javascript php

如果我有多个带有单独提交表单的HTML标记,我如何知道在PHP文件中发布哪个处理表单数据的时间?

jpi*_*pic 7

您可以在每种形式中设置此类输入:

<input type="hidden" name="form_id" value="identifier_of_form" />
Run Code Online (Sandbox Code Playgroud)

例如:

<form method="post" action="">
    <input type="hidden" name="form_id" value="form_0" />
    <!-- snip -->
</form>

<form method="post" action="">
    <input type="hidden" name="form_id" value="form_1" />
    <!-- snip -->
</form>

<form method="post" action="">
    <input type="hidden" name="form_id" value="form_n" />
    <!-- snip -->
</form>
Run Code Online (Sandbox Code Playgroud)


小智 6

最简单的方法是为表单唯一的提交按钮命名。如果单个表单有多个提交按钮,您也可以使用它(例如 - 提交和保存、提交和返回、提交和退出)

 <input type="submit" name="action" value="Save">
 <input type="submit" name="action" value="Return">
 <input type="submit" name="action" value="Exit">
Run Code Online (Sandbox Code Playgroud)

$_POST 数组(或 $_GET/$_REQUEST)将包含键“action”和按钮的值(无论是否被点击)。

通常,我避免传递不必要的隐藏文本字段等 - 只是为了保持代码更干净。

所以。对于您的应用程序,我会给您的提交按钮值如下:

<form id="Form1">
  <input type="submit" name="action" value="Form1">
</form>

<form id="Form2">
 <input type="submit" name="action" value="Form2">
</form>

<form id="Form3">
 <input type="submit" name="action" value="Form3">
</form>
Run Code Online (Sandbox Code Playgroud)


Que*_*tin 5

通过在每个数据中包含一些独特的数据.可能有一个隐藏的输入.