[英]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.