JavaScript如何在RPGILE(大型机语言)响应缓慢时显示“请稍候”提示
alert()是JavaScript原生的阻塞式API,触发后会暂停页面所有后续动作,包括表单提交逻辑,必须等用户手动关闭弹窗才会继续执行,这就是你遇到问题的根本原因。
最优解决方案
不要使用原生alert实现等待提示,改用页面内嵌入的自定义提示元素,实现无阻塞的提示效果:
- 先在表单内的合适位置加入默认隐藏的提示元素:
<p id="waitTip" style="display: none; color: #1677ff; font-weight: bold;">请稍候,请求正在处理中...</p>
- 修改提交按钮的点击逻辑:
<input type="submit" name="Continue" value="提交订单" onClick="document.getElementById('waitTip').style.display = 'block'">
这个方案的效果是:用户点击提交按钮后,会立刻显示等待提示,同时表单会正常提交到后端RPGILE程序,全程没有需要用户手动关闭的弹窗,完全符合需求。
如果需要同时避免用户重复点击提交按钮,可以进一步优化按钮逻辑:
<input type="submit" name="Continue" value="提交订单" onClick=" document.getElementById('waitTip').style.display = 'block'; this.disabled = true; this.form.submit(); ">
新增的逻辑会在点击后立刻禁用提交按钮,避免重复提交,主动调用form.submit()是为了兼容部分浏览器禁用按钮后会中止默认提交行为的问题。
内容的提问来源于stack exchange,提问作者Diane1958
相关产品推荐
相关产品推荐

