防止双重提交

Prevent Double Submission

我在 PHP、MySQL 上有一个项目并使用 CodeIgniter 框架,我有一个用户提交订单的页面,但问题是系统需要一段时间处理它,同时如果用户按下提交按钮,它将再次提交。

我想要做的是在按下按钮后将其禁用。 这是按钮代码

<div class="row">
    <div class="col-md-7">
        <!-- begin panel -->
             <input type="hidden" name="order_status" value="0" />
                <button  type="submit" class="btn btn-success saveit saveorderf_"><?php echo "Save";?></button>
        <!-- end panel -->
    </div>
</div>

到目前为止我尝试使用的是

onClick="this.disabled=true;

但它只会在没有提交表单的情况下禁用按钮。

任何我可能在这里遗漏的想法。

提前致谢。

您可以将代码替换为:

onclick="this.disabled = true; form.submit();"

form.submit(); 会为您完成这项工作

您可以在提交表单后禁用该按钮。

参考:Simplest way to disable button on submission of a form?

$(document).ready(function(){
    $('.once-only').submit(function(){
        $(this).children('button').prop('disabled', true);
    });
});
<script
  src="https://code.jquery.com/jquery-3.5.1.js"
  integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc="
  crossorigin="anonymous"></script>
<form method="POST" class="once-only">
    <input type="text" name="q"/>
    <button >Send</button>
</form>    

工作 jsfiddle:http://jsfiddle.net/gKFLG/1/