簡體   English   中英

PHP不處理表格

[英]PHP doesn't process the form

我在這里有一個小問題。
我有一個帶有jQuery的表單,該表單在提交表單時會禁用提交輸入。
問題是:單擊輸入提交時,我使用PHP處理數據。 但是顯然該按鈕首先被禁用,然后PHP無法執行該處理。 我需要找到一種方法來防止這種情況,請看一下代碼片段:

<form class='send' action='{$_SERVER['PHP_SELF']}' method='post'>
    <!--Form data-->
    <input type='submit' name='finish' value='Send'/>
</form>

jQuery功能禁用:

$('.send').on('submit', function()
{
    $(this).find('input[type="submit"]').prop("disabled", true);
});

然后要處理的PHP代碼:

if(isset($_POST['finish']))
{
    //Do things
}

就像我說的那樣,PHP不處理表單,因為JS禁用了該按鈕以防止多次提交。 禁用按鈕前如何處理PHP? 謝謝!

由於您禁用了提交按鈕,因此不會通過$_POST變量將其發送到服務器,因此您的代碼將無法正常工作。

做您正在尋找的另一種方法是創建一個隱藏的HTML輸入

<input type="hidden" name="form">

然后,當您檢查表單是否已發送時,將使用

if(isset($_POST['form']))
{
    //Do things
}

您可以通過一個簡單的按鈕輕松更改提交按鈕來解決:

<form class='send' action='{$_SERVER['PHP_SELF']}' method='post'>
    <!--Form data-->
    <input type='button' name='finish' value='Send'/>
</form>

$('input[name="finish"]', '.send').on('click', function(){
    $(this).prop('disabled', true);
    $('.send').submit();
});

暫無
暫無

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

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