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

时间:2012-01-29 15:36:18

标签: php javascript jquery html forms

<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或div TWO,我总是在 $ _ POST ['aaa'] ='two';

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

如果我点击div一个提交我想要显示 $ _ POST ['aaa'] ='one'如果我点击div 2提交我想收到 $ _ POST [ 'aaa'] ='两个'

我怎么做到的?

我可以使用这个PHP和jQuery。

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

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

4 个答案:

答案 0 :(得分:13)

您实际想要做的事情似乎是每个按钮都有一个值,请参阅this,例如:

<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>

答案 1 :(得分:4)

您需要两种不同的形式:

<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时,只使用表单中遇到的最后一个值并提交。

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


HTML表单:

<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");
}

答案 2 :(得分:3)

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

答案 3 :(得分:3)

试试这个:

在html中 -

    <input id="PreviousButton" value="Previous" type="submit" />
    <input id="NextButton" value="Next" type="submit" />

    <input id="Button" name="btnSubmit"  type="hidden" />

在jOuery -

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

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

然后你可以在表格结果中看到 - “按钮”包含的内容。