I am trying to do a fancy button with some animations to disable it once clicked (or touched on mobile phones). However; I am facing an issue. The issue is that setting the disabled attribute does complete the animation, but doesn't submit the form. It's working on PCs, though!
<form class="needs-validation" action="" method="post" enctype="application/x-www-form-urlencoded" role="form">
<div class="card shadow">
<div class="card-body">
<h2 class="card-title text-center">Form</h2>
<div class="form-floating mb-3">
<input class="form-control" name="id" placeholder="Enter ID" type="text" required>
<label>ID<label>
</div>
<div class="mb-3 text-end">
<button type="submit" class="btn btn-primary" name="submit" id="submit"
onclick="submitForm();">Search</button>
</div>
</div>
</div>
</form>
function submitForm() {
var submitBtn = document.getElementById("submit");
submitBtn.innerHTML = '<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> Searching...';
submitBtn.setAttribute("disabled", true);
}
What am I missing or is it a bug with Safari on iOS?
EDIT:
Tried ontouchend=submitForm(); but didn't solve the issue.