我使用 POST/REDIRECT/GET 技巧来防止刷新重新发送表单。现在我想禁用不应单击两次的表单提交按钮(单击后)。尽管我尝试了所有找到的 javascript 示例,但它们都与 POST/REDIRECT/GET 冲突。在大多数情况下,它甚至不提交,而只是重定向到自身。有什么解决办法吗?谢谢你的帮助。
我尝试过的一些冲突是这个例子:
该脚本首先运行 headers.php,其中包含:
if (isset($_POST['start-diff-scan']))
{
$_SESSION['SCAN_START'] = true;
header('HTTP/1.1 303 See Other');
header('Location: '.APP_URL.'scan.php');
exit;
}
然后 scan.php 使用这种形式:
<form name="start-diff-scan" id="start-diff-scan" method="post">
<button
name="start-scan"
id="start-scan"
value=""
class="start-scan btn btn-primary"
type="submit"
method="post">
Start New Scan
</button>
</form>
并且工作正常。但是js技巧与此冲突。我在scan.php的最后添加了js代码
<script>
$('#start-diff-scan').submit(function()
{
$('#start-scan').prop('disabled', true);
});
</script>
发生的情况是它只重定向到同一页面(scan.php)而不执行任何操作。感谢您迄今为止的所有回答和帮助,这很棒。非常感谢任何想法