Javascript ASP.NET MVC按钮多次单击
好的,我有一个表单,在这个表单上我通过dataannotation进行了一些验证,dataannotation是客户端验证,也是服务器端验证,就像一些字段已经存在一样。我在页面上没有javascript验证。现在我的问题是,如果用户多次按下save按钮,我该怎么办(他一直按下按钮15次,在我的情况下,页面保持在那里,字段已存在消息位于顶部)。你们这些家伙是怎么做的 我所做的(这在firefox中运行良好,但在ie中不起作用)是在ie中单击后禁用按钮Javascript ASP.NET MVC按钮多次单击,javascript,asp.net-mvc,Javascript,Asp.net Mvc,好的,我有一个表单,在这个表单上我通过dataannotation进行了一些验证,dataannotation是客户端验证,也是服务器端验证,就像一些字段已经存在一样。我在页面上没有javascript验证。现在我的问题是,如果用户多次按下save按钮,我该怎么办(他一直按下按钮15次,在我的情况下,页面保持在那里,字段已存在消息位于顶部)。你们这些家伙是怎么做的 我所做的(这在firefox中运行良好,但在ie中不起作用)是在ie中单击后禁用按钮 $(document).ready(fun
$(document).ready(function () {
$("#btn").submit(function () {
$('#btn').attr('disabled', 'disabled');
});
});
尝试使用.live,或者您可以在按下按钮后隐藏该按钮
$(document).ready(function () {
$("#btn").live("click", function () {
$('#btn').attr('disabled', 'disabled');
//or
$('#btn').hide();
});
});
在整个页面上方放置一个覆盖层。覆盖层防止用户点击两次,并提供一些反馈。这项工作做得很好 编辑:
您已经回答了自己的问题-在回发完成之前禁用按钮是防止多次回发的最佳方法之一。注意,只适用于支持javascript的浏览器。它在ie中不起作用,它可以像clicknice按钮一样直接禁用按钮,但如果有人在代码方面给我帮助,那就太好了?
$(document).ready(function () {
$("#btn").click(function () {
$('#btn').attr('disabled', 'true'); // Disable the button if you like
$.blockUI(); // Blocking the page with a standard message.
});
});