是否有可能阻止用户在输入标签按钮类型提交中单击两次? 我试过ondblclick =" javascript:void(0)" 但它不起作用
我的Html.BeginForm不是表单元素标记
感谢所有的帮助!
答案 0 :(得分:1)
您可以尝试一次点击事件,禁用第二次点击事件
$( "#XXXXX" ).one( "click", function() {
alert( "This will click only once." );
});
答案 1 :(得分:0)
将类似的内容添加到您的JavaScript代码中:
var tryNumber = 0;
$('input[type=submit]').click(function (event) {
var self = $(this);
if (self.closest('form').valid()) {
if (tryNumber > 0) {
tryNumber++;
// if you want an alert:
// alert('Your form has been already submited. wait please');
return false;
}
else {
tryNumber++;
}
};
});
创建一个自定义ActionFilter,它将跟踪请求并添加延迟值。此博客上有good explanation。当然这需要一些努力,但最终只需要在Request函数上有一个自定义属性。
我个人会说这是不正确的方式来看问题。
您无法阻止您的网页出现在每个不需要的用户互动中。大多数情况下,用户正在按预期完成不同的事情。
相反,我会使我的POST请求稳定并超越我的逻辑以确保没有数据被破坏。
有一些设计模式,例如Post/Redirect/Get模式。
答案 2 :(得分:0)
点击提交按钮
$('.submitButton').prop('disabled',true);