我有一个在工厂 Intranet 中运行的 ASP.NET MVC3 应用程序。工厂使用 Internet Explorer,最终用户有点不耐烦。在我向数据库添加新对象的页面中,资源管理器没有快速响应并且用户重新按下添加按钮,因此插入了两次相同的对象。我正在想办法阻止它。
我编写了一个脚本,使按钮在按下后不可见,但我想让它不起作用。是否有这样的javascript函数或服务器端实现使提交按钮不起作用?
我有一个在工厂 Intranet 中运行的 ASP.NET MVC3 应用程序。工厂使用 Internet Explorer,最终用户有点不耐烦。在我向数据库添加新对象的页面中,资源管理器没有快速响应并且用户重新按下添加按钮,因此插入了两次相同的对象。我正在想办法阻止它。
我编写了一个脚本,使按钮在按下后不可见,但我想让它不起作用。是否有这样的javascript函数或服务器端实现使提交按钮不起作用?
“不工作”客户端:
我会说禁用
document.getElementById("btnAdd").disabled = true;
比让它隐形更安全一点。最重要的是,考虑从http://www.ajaxload.info/以 GIF 的形式添加加载动画,以便用户知道他们必须等待。
理想情况下,您将进行 ajax 调用,如果操作失败或返回消息,则可以重新启用按钮。
最坏的情况是,您可以完全从页面中删除按钮,但如果操作失败并且用户需要再次按下它,这不是一个好主意。
“不工作”服务器端:
在数据库级别,捕获并拒绝重复(根据您的标准),以确保即使它们确实滑过去,您也不会得到重复的数据。