我有这个传统的提交按钮,提交一个这样的表格:
<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']))
此处使用的替代方法是什么?
答案 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。
如果您确实想将其作为副作用,请检查是否存在您知道将要设置的其他字段。您可以添加隐藏字段,以确保在您喜欢的情况下将存在给定名称/值组合之一。