Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PHP没有';不要处理表格_Javascript_Php_Jquery - Fatal编程技术网

Javascript PHP没有';不要处理表格

Javascript PHP没有';不要处理表格,javascript,php,jquery,Javascript,Php,Jquery,我这里有点小问题。 我有一个带有jQuery的表单,它在提交表单时禁用提交输入。问题是:单击输入提交时,我使用PHP处理数据。但很明显,按钮首先被禁用,然后PHP无法执行处理。我需要找到一种方法来防止这种情况,请查看代码片段: <form class='send' action='{$_SERVER['PHP_SELF']}' method='post'> <!--Form data--> <input type='submit' name='fin

我这里有点小问题。
我有一个带有jQuery的表单,它在提交表单时禁用提交输入。
问题是:单击输入提交时,我使用PHP处理数据。但很明显,按钮首先被禁用,然后PHP无法执行处理。我需要找到一种方法来防止这种情况,请查看代码片段:

<form class='send' action='{$_SERVER['PHP_SELF']}' method='post'>
    <!--Form data-->
    <input type='submit' name='finish' value='Send'/>
</form>
然后是要处理的PHP代码:

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

正如我所说,PHP不处理表单,因为JS禁用了按钮以防止多次提交。如何在禁用按钮之前处理PHP?谢谢

由于您禁用了submit按钮,因此它不会在
$\u POST
变量中发送到服务器,因此您的代码无法正常工作,正如您所说

另一种方法是创建一个隐藏的HTML输入

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

您可以通过一个简单的按钮轻松地更改提交按钮来解决此问题:

<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();
});

$('input[name=“finish”]”,'.send')。在('click',function()上{
$(this.prop('disabled',true);
$('.send').submit();
});

我认为问题在于PHP脚本从未收到数据,因为您已禁用提交。我想你是想阻止刷新?您需要使用AJAX。单击后,禁用该按钮。成功后,再次让用户知道/启用按钮。禁用输入意味着它的名称/值对赢了;我不能被派去。在php中设置它的重要性是什么?如果它不违反您正在努力实现的任何规范,您可以隐藏按钮<代码>$(this).find('input[type=“submit”]').hide()。我知道这是无耻的q&d(没人知道什么)。但是你怎么不用
preventDefault()?i、 e.:@PedroLobito我想禁用按钮,但是在PHP过程之后。我知道,但是我需要在PHP过程之后禁用。你能给我们提供更多信息吗?为什么需要禁用输入?您希望实现什么?好吧,我的代码的其余部分将是无关的,只会使问题变得更广泛。我基本上需要在禁用按钮之前处理PHP。我的意思是为什么在发送数据后需要禁用表单?发送表单时,会被重定向到表单操作中指定的页面,因此在发送表单后执行任何操作都是无关的。您可以随时使用AJAX发送表单,而无需重定向到其他页面谢谢您提供的代码和所有信息!隐藏输入效果很好!:)
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();
});