簡體   English   中英

我怎樣才能告訴PHP提交哪種表格

[英]How can i tell PHP which form is submitted

有沒有辦法告訴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變量。

因此,我需要知道以上哪些表格已提交?

謝謝..

這將起作用:

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

創建一個帶有名稱的提交按鈕:

<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') { 

}

通過對輸入字段命名,您可以輕松識別出哪些字段來自哪個表單,以及擴展了提交的表單。

<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.
}

如果您只想使用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
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM