在选择值时提交表单,如何在表单处理中识别提交事件

时间:2012-05-02 05:13:14

标签: php forms

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

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

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

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

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

太多了!

4 个答案:

答案 0 :(得分:1)

submitForm标记内添加名为submit且值为<form></form> 的隐藏输入字段。

<input type="hidden" name="submitForm" value="submit" />

答案 1 :(得分: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'] != '',而不是正常提交​​$_POST['name of form']

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

     ?>

或者您可以使用Bibhas建议的具有定义值的隐藏字段。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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