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