我有一个顶级应用程序,但因为表单页面有很多数据要从单个记录中呈现,有时如果您没有让患者等待额外的2-6秒,您有时会点击浏览器后退按钮a应用程序中的按钮,如果您单击其中任何一个。您将从应用程序中收到错误。
如果您不知道,Apex确实支持jquery。
我想添加一个Javascript来禁用任何按钮,包括浏览器按钮,直到我的应用程序中的页面完成加载。
我在google上做了一些搜索,但没有一个显示出一个不错的解决方案。
我还有任何尝试,因为我不知道该怎么做。我对Jquery的了解非常有限。
你的帮助意味着很多
感谢
答案 0 :(得分:1)
理想的方法是在屏幕上显示模态弹出对话框,防止用户点击屏幕上的任何内容。
jQuery UI模式对话演示:http://jqueryui.com/resources/demos/dialog/modal.html
在该模式中,显示类似“正在加载页面。请稍等。”
不,你不能禁用浏览器按钮。这是一个禁忌。
答案 1 :(得分:0)
您实际上并不希望能够禁用浏览器按钮。这意味着任何人都可以。想象一下这样做的攻击网站。那将是一场噩梦。
你最接近的事情是绑定onunload,但这可能没有多大帮助。否则使后端处理得更好。
我认为naveen的答案很好。这是你应该考虑实施的东西,但我认为最好让后端适应用户的不耐烦。在这种情况下,允许逐步加载数据可能是好的,或者至少使导航取消时不会抛出错误。我不知道你的系统设计,所以我无法在这方面提出具体的建议。
答案 2 :(得分:0)
无法禁用浏览器按钮,但您可以添加代码以禁用客户端/服务器端的输入。
在HTML中禁用:
<button id="mybutton" disabled="disabled"></button>
在javascript中禁用:
document.getElementById('mybutton').disabled=true;
使用jQuery禁用:
$("#mybutton").attr("disabled","disabled");
覆盖窗口卸载:
<script language="JavaScript">
window.onbeforeunload = confirmClose;
function confirmClose() {
return "Are you sure to close this page?";
}
</script>