【发布时间】:2015-07-09 01:04:19
【问题描述】:
我在这里遇到了一个小问题。
我有一个带有 jQuery 的表单,它在提交表单时禁用提交输入。
问题是:我使用 PHP 在单击输入提交时处理数据。但显然该按钮首先被禁用,然后PHP无法执行处理。我需要找到一种方法来防止这种情况,看看代码sn-ps:
<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?谢谢!
【问题讨论】:
-
我认为问题在于 PHP 脚本永远不会收到数据,因为您已禁用提交。我假设您想阻止刷新?您需要使用 AJAX。单击时,禁用该按钮。成功后,让用户再次知道/启用该按钮。
-
禁用输入意味着它的名称/值对将不会被发送。在 php 中设置它的重要性是什么?
-
如果它不违反您正在努力的任何规范,您可以隐藏按钮吗?
$(this).find('input[type="submit"]').hide();。我知道这是无耻的q&d,(没有人学到任何东西)。但是嘿嘿 -
你为什么只使用
preventDefault();?即:stackoverflow.com/a/5169572/797495 -
@PedroLobito 我想禁用按钮,但在 PHP 进程之后。
标签: javascript php jquery