Javascript 加载程序显示后的重置按钮

Javascript 加载程序显示后的重置按钮,javascript,html,css,Javascript,Html,Css,大家好,我正在尝试创建一个按钮,它在提交时变成一个加载器,然后在表单成功提交后返回到一个按钮 我认为我的问题在JS中。 不知道如何在我的JS中添加一个超时,使加载程序在一段时间后或PHP提交后隐藏。 我的表单通过phpmailer和ajax运行,并通过mgs发出警报,显示它已被发送,但mgs通常需要一段时间才能显示,导致客户端重新提交 功能按钮点击(){ document.getElementById(“formsubmitbutton”).style.display=“none”//取消显示

大家好,我正在尝试创建一个按钮,它在提交时变成一个加载器,然后在表单成功提交后返回到一个按钮

我认为我的问题在JS中。 不知道如何在我的JS中添加一个超时,使加载程序在一段时间后或PHP提交后隐藏。 我的表单通过phpmailer和ajax运行,并通过mgs发出警报,显示它已被发送,但mgs通常需要一段时间才能显示,导致客户端重新提交

功能按钮点击(){
document.getElementById(“formsubmitbutton”).style.display=“none”//取消显示
document.getElementById(“按钮替换”).style.display=“”;//显示
返回true;
}
var FirstLoading=真;
函数RestoreSubmitButton(){
if(首次加载){
firstload=false;
返回;
}
document.getElementById(“formsubmitbutton”).style.display=“”;//显示
document.getElementById(“buttonreplacement”).style.display=“none”//取消显示
}
//要禁用恢复提交按钮,请禁用或删除下一行。
document.onfocus=恢复SubmitButton
.cssload容器{
位置:相对位置;
高度:40px;
宽度:40px;
保证金:自动;
利润率最高:2%;
}
.cssload惠而浦酒店,
.cssload惠而浦::之前,
.cssload惠而浦::之后{
位置:绝对位置;
最高:50%;
左:50%;
边框:1px实心#08d108;
左边框颜色:rgb(0,0,0);
边界半径:924px;
-o-边界半径:924px;
-ms边界半径:924px;
-webkit边界半径:924px;
-莫兹边界半径:924px;
}
.cssload惠而浦酒店{
保证金:-23px 0-23px;
高度:40px;
宽度:40px;
动画:cssload旋转1450ms线性无限;
-o动画:cssload旋转1450ms线性无限;
-ms动画:cssload旋转1450ms线性无限;
-webkit动画:cssload旋转1450ms线性无限;
-moz动画:cssload旋转1450ms线性无限;
}
.cssload惠而浦::之前{
内容:“;
利润率:-21px 0-21px;
高度:41px;
宽度:41px;
动画:cssload旋转1450ms线性无限;
-o动画:cssload旋转1450ms线性无限;
-ms动画:cssload旋转1450ms线性无限;
-webkit动画:cssload旋转1450ms线性无限;
-moz动画:cssload旋转1450ms线性无限;
}
.cssload惠而浦::之后{
内容:“;
利润率:-27px0-27px;
高度:52px;
宽度:52px;
动画:cssload旋转2900ms线性无限;
-o型动画:cssload旋转2900ms线性无限;
-ms动画:cssload旋转2900ms线性无限;
-webkit动画:cssload旋转2900ms线性无限;
-moz动画:cssload旋转2900ms线性无限;
}
@关键帧cssload旋转{
100% {
变换:旋转(360度);
}
}
@-o关键帧cssload旋转{
100% {
-o变换:旋转(360度);
}
}
@-moz关键帧cssload旋转{
100% {
-moz变换:旋转(360度);
}
}

发送

您应该从ajax请求中调用ButtonClicked和RestoreSubmitButton,如下所示:

function sendFormData(){
    ButtonClicked(); //Start to display loading indicator before sending the request

   $.ajax({
         url:'ServiceToFetchDocType',
         type:'post',
         cache:false,
         success: function(response){
             /* Ajax has now completed so you can re-render the button now*/
             RestoreSubmitButton();
        }
}

您想再次显示“发送”按钮,并从您的phpmailer中隐藏成功消息后的加载程序?是的,基本上,如果表单完成,它应该再次显示按钮。您在控制台中遇到错误还是什么?您是否发布了ajax请求?