如何检查表单是否通过javascript提交?

时间:2010-05-23 11:51:28

标签: php jquery submit

我有这个传统的提交按钮,提交一个这样的表格:

<form method="post" id="form_submit">
...
<input class="button" type="submit" name="Submit" value="Submit">
</form>

我检查是否单击了提交按钮:

if(isset($_POST['Submit'])){
   //update DB
}

现在我有一个使用jquery的提交链接:

<a href="#" onclick="publish(); return false;">Submit</a>

JS代码:

$("#form_submit").submit();

由于我使用javascript提交表单,因此if(isset($_POST['Submit']))此处使用的替代方法是什么?

4 个答案:

答案 0 :(得分:5)

如果我理解正确的话,试试这个:

if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
 // your code.........
}

答案 1 :(得分:4)

您应该向表单中添加一个隐藏的输入<input type="hidden" name="formsubmit" value="yes" />,该表单将始终提交,并检查该输入而不是按钮(仅在单击时才会提交..

答案 2 :(得分:1)

如果我正确理解您的问题,您只需将输入类型更改为隐藏。

<form method="post" id="form_submit">
...
<input type="hidden" name="Submit">
</form>

$ _ POST ['Submit']变量将被定义。

答案 3 :(得分:0)

最好的解决方案是“不要那样做”。如果要提交表单,请使用提交按钮(不要将其作为单击页面顶部超链接的副作用)。然后,您可以在表单的submit事件中处理您要运行的任何JavaScript。

如果您确实想将其作为副作用,请检查是否存在您知道将要设置的其他字段。您可以添加隐藏字段,以确保在您喜欢的情况下将存在给定名称/值组合之一。