繁体   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