【发布时间】:2019-07-09 15:56:31
【问题描述】:
我有一个带有基本表单的网页。在点击“提交”和页面重新加载结果之间有一个不可忽略的等待时间,所以我在用户等待时添加了一个小微调器。
这很简单,这是 HTML:
<div id="loadingBox" style="display:none;">
<!---put the actual loader here--->
</div>
这是在用户单击提交后使微调器可见的基本事件处理程序:
$("#submitButton").submit(function(e)
{
$("#loadingBox").css('display', 'block');
});
问题是用户可以点击提交,使框出现,然后点击escape或点击浏览器按钮取消页面加载,并且spinner一直在旋转。
我添加了这个以使微调器在他们命中逃生时消失:
$(document).keydown(function (e)
{
if(e.keyCode == 27)
{
$("#loadingBox").css('display', 'none');
}
})
如何检测用户点击了取消页面加载按钮?我找不到在单击该按钮时触发的事件,也找不到反映它的就绪状态或其他属性。我担心的是用户单击取消加载按钮,然后微调器没有消失,用户盯着微调器认为页面仍在做某事,但它什么也没做。
【问题讨论】:
-
用ajax提交怎么样。这样您就可以提供一个取消按钮(不知道为什么要这样做,但是这样您可以向服务器发送响应(再次 ajax)以删除刚刚保存的数据,以防止出现不足),您甚至可以现在使用 ajax 进行重定向。
-
是的,我正在为此目的转换为 AJAX。谢谢!
-
你还需要 ajax 的答案吗?
-
谢谢@HimanshuPant 但我现在明白了,在下面提交了答案
标签: javascript jquery dom