如何通过多次点击提交按钮来防止重新提交表单



我使用了Laravel 9,在刀片中我有以下形式:

<form id="create-offline-payment-form" action="{{route ('user.cart.pay')}}" method="post">
@csrf
<input type="hidden" value="{{$shop_id}}" id="shop-id" name="shop_id">
<button  id="payment" type="submit" class="btn">پرداخت آفلاین</button>
</form>

提交给这种方法的表格:

public function payCart(Request $request)
{
Transaction::create([
'seller_id' => Auth::id(),
'amount' =>  $this->cartSum(),
]);
return redirect()->route('user.cart.paid');
}

并且在另一种方法中通过上述路线,将向用户显示一个视图:

路线('user.cart.payed'(转到下面的方法:

public function paidCart()
{
return view('user.cart.paid');
}

我的问题是,当用户在提交botton上点击几次时,会在Transaction表上建立多个记录。

我该如何防止这种情况发生?

感谢

$('form#id').submit(function(){
$(this).find(':input[type=submit]').prop('disabled', true);
});

最新更新