带有两个按钮的表单提交具有不同的值


Form with two button submit with different value

<form action="here.php" method="POST">
<input type="text" name="text">
<div id="one">
   <input type="hidden" name="aaa" value="one">
   <input type="submit" value="Send">
</div>
<div id="two">
   <input type="hidden" name="aaa" value="two">
   <input type="submit" value="Send">
</div>
</form>

现在,如果我单击发送div ONE 或div TWO,我总是在 $_POST['aaa'] = 'two';

是否可以制作一个表单,其中两个提交具有不同值的表单?

如果我点击div one 提交,我想显示 $_POST['aaa'] = '一',

如果我点击div 2 提交,我希望收到 $_POST['aaa'] = 'two'

我该怎么做?

我可以用于这个PHP和jQuery。

编辑:我不想创建两个表单 - 我不想多次显示两个<input type="text" name="text">

编辑:也许我可以改为按钮提交? 但是如何?

似乎您真正想做的是在每个按钮中都有一个值,例如:

<form action="demo_form.asp" method="get">
  Choose your favorite subject:
  <button name="subject" type="submit" value="fav_HTML">HTML</button>
  <button name="subject" type="submit" value="fav_CSS">CSS</button>
</form>
您需要

两种不同的形式:

<div id="one">
   <form ...>
      <input type="hidden" name="aaa" value="one">
      <input type="submit" value="Send">
   </form>
</div>
<div id="two">
    <form ...>
       <input ...>
       <input ...>
    </form>
</div>

标准做法是,当两个字段具有完全相同的name时,仅使用表单中遇到的 LAST 值并提交该值。

PHP 确实有一个特殊情况的符号 ( name="aaa[]" ( 允许提交多个具有相同名称的值,但这在这里对您没有帮助,因为这将提交所有aaa值,而不仅仅是最接近提交按钮的值。


网页表单:

<form ...>
<input type="text" name="textfield">
<div id="one">
   <input type="hidden" name="one_data" value="aaa" />
   <input type="submit" name="submit_one" value="Submit" />
</div>
<div id="two">
   <input type="hidden" name="two_data" value="bbb" />
   <input type="submit" name="submit_two" value="Submit" />
</div>
</form>

服务器端:

if (isset($_POST['submit_two'])) {
    $data = $_POST['two_data'];
} else if (isset($_POST['submit_one'])) {
    $data = $_POST['one_data'];
} else {
    die("Invalid submission");
}

您可以显示包含两个选项和一个提交按钮的单选列表,而不是显示两个提交按钮。

试试这个:

在 HTML 中-

    <input id="PreviousButton" value="Previous" type="submit" />
    <input id="NextButton" value="Next" type="submit" />
    <input id="Button" name="btnSubmit"  type="hidden" />

在乔厄里-

        $("#PreviousButton").click(function () {
            $("#Button").val("Previous");
        });
        $("#NextButton").click(function () {
            $("#Button").val("Next");
        });

然后您可以在表单中看到结果 - "按钮"包含的内容。