时没有违反页面我有一个表格,我正在试图防止重复提交,这是相当简单的页面(如果任何人的好奇,我用这个防止重复的表单提交,同时单击后退按钮
$("form").submit(function()
{
setTimeout(function()
{
$("input").attr("disabled", "disabled");
}, 50);
});
...这是我从this page偷了,并能正常工作正如预期的那样,在输入被禁止迅速,预期提交表单,用户会被重定向
这里是我的问题:我预计用户使用后退按钮有时而不是页内导航,所以我希望页面能够正常工作点击后退按钮。但是,当我在成功发布后单击后退按钮时,我将返回到前一页,禁用所有输入(如您可能已知会发生的情况)。我希望他们在点击后退按钮后能够使用该页面,如果他们愿意的话。
我第一次尝试使用头文件/元标记来告诉浏览器不要缓存页面,但这并不起作用(在Firefox 3.6.8中) - 然后我决定我不想这样做,因为它可能不会跨浏览器兼容,并且可能不是最佳做法(here就是这样一种情况)。我不想使用任何能够“断开”后退按钮的事情,就像我看过的一些应用程序一样(例如,当用户点击它时,它不会将它们带回页面,而是强制它们留在该页面上),这对我来说似乎是一个糟糕的主意。有谁知道一种方法,我可以防止重复表单提交在客户端没有呈现页面无用,当用户点击后退按钮? (万一它很重要,我使用ASP.NET MVC 1)。
这是一个好主意,可以防止服务器上的表单重复处理。尽管如此,我在这个问题背后的想法是如果可能的话,阻止客户采取行动。显然,我们也必须在后端处理它,但我想尽量避免任何客户端操作。 – Andy 2013-02-18 21:38:52