Javascript 在提交表单和API调用后,引导微调器不会停止
我正在使用引导,并试图在提交表单时设置微调器。当表单提交时,我可以让微调器按钮旋转,但是在表单提交后,它只是继续旋转。我已经看了所有的地方,但似乎不知道如何在API调用完成后停止。在提交表单时,如何使其旋转,在API调用完成后停止,并在API调用完成后再次返回可用按钮 html代码Javascript 在提交表单和API调用后,引导微调器不会停止,javascript,jquery,bootstrap-4,spinner,Javascript,Jquery,Bootstrap 4,Spinner,我正在使用引导,并试图在提交表单时设置微调器。当表单提交时,我可以让微调器按钮旋转,但是在表单提交后,它只是继续旋转。我已经看了所有的地方,但似乎不知道如何在API调用完成后停止。在提交表单时,如何使其旋转,在API调用完成后停止,并在API调用完成后再次返回可用按钮 html代码 你可能会考虑重新组织一些事情来简化正在发生的事情。 创建单个函数以处理微调器状态 函数startSpinner(){ //启动微调器的代码 $(“#btnFetch”).prop(“禁用”,真); $(“#btnF
你可能会考虑重新组织一些事情来简化正在发生的事情。
函数startSpinner(){
//启动微调器的代码
$(“#btnFetch”).prop(“禁用”,真);
$(“#btnFetch”).html(
`加载`
);
}
函数stopSpinner(){
//您可以编写代码使微调器停止
//(即,将按钮返回到其原始状态)
$(“#btnFetch”).prop(“禁用”,false);
$(“#btnFetch”).html('Submit');
}
$(文档).ready(函数(){
$('.form_class1')。关于('submit',函数(事件){
//启动旋转器
startSpinner();
$.ajax({
数据:{
some_id:$('#some_id').val(),
},
键入:“POST”,
url:“/ajax\u请求\u url1”
})
.完成(功能(数据){
// ...
})
.always(函数(dataOrjqXHR、textStatus、jqxhrorErrorSwitch){
//完成时执行此操作,即使出现错误
//停止旋转
停止旋转器();
});
//这些应该在顶部吗?
event.preventDefault();
事件。stopImmediatePropagation();
});
});
这可以在处理表单提交的代码(ajax、axios等)中实现,但似乎没有提供该代码。感谢我添加了我拥有的ajax调用代码。如果您不介意只使用CSS3和jQuery,这里有一种方法可以确保旋转在3秒钟后停止。您可能会发现此讨论很有帮助。谢谢,这正是我想要做的。谢谢你的帮助。
<form id="form_id" name="form_id" class="form_id" method="POST" >
<div class="input-group-append">
<button type="submit" id="btnFetch" class="btn btn-primary mb-2">Submit</button>
</div>
</form>
$(document).ready(function() {
$("#btnFetch").click(function() {
$(this).prop("disabled", true);
$(this).html(
`<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>Loading...`
);
});
});
$(document).ready(function() {
$('.form_class1').on('submit', function(event) {
$.ajax({
data : {
some_id: $('#some_id').val(),
},
type : 'POST',
url : '/ajax_request_url1'
})
.done(function(data) {
if (data.error) {
}
else {
// Do Processing here....
}
});
event.preventDefault();
event.stopImmediatePropagation();
});
});