我有一个简单的表单,有一个选择下拉菜单。从菜单中选择一个项目后,我会生成一个表单提交......执行此操作的代码是:
<select name="some name" onchange="this.form.submit"></select>
现在,如果使用提交按钮(比如name =“submitForm”)提交此表单,那么我只会这样做:
if($_POST['submitForm'] == 'submit')
然后继续进行依赖于表单提交的处理。
但是,由于每个说法没有提交按钮,我如何得到$ _POST ['some name'] =='submit'的等价物? (这显然不正确)
太多了!
答案 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”