如何告诉PHP提交了哪个表单

时间:2015-04-22 14:05:11

标签: javascript php jquery ajax

有没有办法告诉PHP哪个表单已提交?

表格1

<form id="factory" action="bullets.php" method="post">
    <input type="submit" value="Kopen">
</form>

并形成2

<form id="localFactory" action="bullets.php" method="post">
    <input type="submit" value="Kopen">
</form>

这些表格在一页上。

我的javascript代码:

    var url;

    $('form').submit(function (event) {
        event.preventDefault();

        url = $(this).attr('action');

        location.hash = url;

        $.ajax ({
            url: url,
            method: 'POST',
            data: $(this).serialize()
        }).done(function (html) {
            $('#content').html(html);
        });
    });

如果我得到一个输入,我会得到一个$ _POST变量。

所以我需要知道上面提到了哪些表格?

谢谢..

4 个答案:

答案 0 :(得分:3)

这将有效:

var url;

$('form').submit(function (event) {
    event.preventDefault();

    url = $(this).attr('action');

    location.hash = url;
    var data = $(this).serialize();
    data += "&formId=" + encodeURIComponent($(this).attr('id')); // if you have data in the form.
    // do this if you don`t have data in the form:
    // data = {formId: $(this).attr('id')};

    $.ajax ({
        url: url,
        method: 'POST',
        data: data
    }).done(function (html) {
        $('#content').html(html);
    });
});

然后,您可以从$_POST['formId']

获取表单ID

答案 1 :(得分:1)

创建一个名称为

的提交按钮
<form id="factory" action="bullets.php" method="post">
    <button type="submit" value="factory" name="submit">Kopen</button>
</form>

此值已发布:

if (!empty($_POST['submit']) && $_POST['submit'] == 'factory') { 

}

答案 2 :(得分:0)

通过命名空间输入字段,您可以轻松识别哪个字段来自哪个表单,以及扩展哪个表单已提交。

<form id="factory" action="bullets.php" method="post">
    <input type="text" name="form_1[my_input]">
    <input type="submit" value="Kopen">
</form>

<form id="localFactory" action="bullets.php" method="post">
    <input type="text" name="form_2[my_input]">
    <input type="submit" value="Kopen">
</form>

然后它就像:

一样简单
if (isset($_POST['form_1'])) { 
    // This post variable is an array of each field.
}

答案 3 :(得分:0)

如果您想要一个仅限HTML的解决方案,您可以添加一个表单ID为

的隐藏输入
<form id="factory" action="bullets.php" method="post">
    <input type="hidden" value="factory" name="formId"/>
    <input type="submit" value="Kopen">
</form>

然后用以下方法测试:

if (isset($_POST['formId']) && $_POST['formId'] == 'factory') { 
   //Do what you want here
}