2013-08-16 61 views
1

我有一个运行在工厂Intranet中的ASP.NET MVC3应用程序。工厂使用Internet Explorer,最终用户有点不耐烦。在我向数据库添加新对象的页面中,资源管理器无法快速响应,用户重新按下添加按钮,因此同一个对象将被插入两次。我正在想办法阻止它。防止同一请求完成多次

我写了一个脚本,使按钮在按下后不可见,但我想使它不起作用。有没有这样一个JavaScript函数或服务器端实现,使提交按钮不起作用?

回答

3

“不工作”客户方:

我想说禁用

document.getElementById("btnAdd").disabled = true; 

不仅仅是使得它无形的多一点安全。最重要的是,考虑从http://www.ajaxload.info/以GIF的形式添加加载动画,以便用户知道他们必须等待。

理想情况下,您将进行ajax调用,并且如果操作失败或返回消息,可以重新启用该按钮。

最糟糕的情况是,您可以从页面上完全删除按钮,但如果操作失败并且用户需要再次按下该按钮,这不是一个好主意。

“不工作”的服务器端:

在数据库级别上,捕捉和重复拒绝(您的标准),以确保即使他们滑一个过去,你不重复的数据。

+0

伟大的答案谢谢! –