Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ASP.NET MVC按钮多次单击_Javascript_Asp.net Mvc - Fatal编程技术网

Javascript ASP.NET MVC按钮多次单击

Javascript ASP.NET MVC按钮多次单击,javascript,asp.net-mvc,Javascript,Asp.net Mvc,好的,我有一个表单,在这个表单上我通过dataannotation进行了一些验证,dataannotation是客户端验证,也是服务器端验证,就像一些字段已经存在一样。我在页面上没有javascript验证。现在我的问题是,如果用户多次按下save按钮,我该怎么办(他一直按下按钮15次,在我的情况下,页面保持在那里,字段已存在消息位于顶部)。你们这些家伙是怎么做的 我所做的(这在firefox中运行良好,但在ie中不起作用)是在ie中单击后禁用按钮 $(document).ready(fun

好的,我有一个表单,在这个表单上我通过dataannotation进行了一些验证,dataannotation是客户端验证,也是服务器端验证,就像一些字段已经存在一样。我在页面上没有javascript验证。现在我的问题是,如果用户多次按下save按钮,我该怎么办(他一直按下按钮15次,在我的情况下,页面保持在那里,字段已存在消息位于顶部)。你们这些家伙是怎么做的

我所做的(这在firefox中运行良好,但在ie中不起作用)是在ie中单击后禁用按钮

  $(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.
 });
});