0

我有一个简单的表单,它有一个选择下拉菜单。从菜单中选择一个项目后,我会提交表单...执行此操作的代码是:

<select name="some name" onchange="this.form.submit"></select>

现在,如果使用提交按钮(比如 name="submitForm")提交此表单,那么我只需这样做:

if($_POST['submitForm'] == 'submit')然后进行依赖于表单提交的处理。

但是,由于每个人都没有提交按钮,我如何获得 $_POST['some name'] == 'submit' 的等价物?(这显然是不正确的)

非常感谢 !

4

4 回答 4

1

在标签添加一个名为submitForm和值的隐藏输入字段。submit <form></form>

<input type="hidden" name="submitForm" value="submit" />
于 2012-05-02T05:14:33.303 回答
1

如果您有如下表格,请输入index.php

    <form method='POST' action="index.php">
        <input type='text' name='input1' />
        <input type='submit' name='test' style="display: none;" />
        <select id="selSubmit" name='submit_option' onchange="this.form.submit()">
        <option>Option 1</option>
        <option>Option 2</option>
        </select>
     </form>

要检查表单是否已提交,您可以检查字段是否不为空$_POST['one of the field'] != '',而不是正常的 submit $_POST['name of form']

     <?php 
        if($_POST['input1'] != '') || $_POST['submit_option'] != ''){
             print_r($_POST);
        }

     ?>

或者您可以按照 Bibhas 的建议设置一个具有定义值的隐藏字段。

于 2012-05-02T06:32:25.923 回答
0

您可以创建一个可以发布的隐藏字段,例如 name = "processMode" value = "Partial|Submit"

于 2012-05-02T05:24:36.610 回答
0

检查 $_POST 中的所有其他按钮。如果没有发送,则表示使用了 JS 提交表单。就那么简单。:)

于 2012-05-02T05:18:58.233 回答