首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只单击一次使用javascript禁用Button

只单击一次使用javascript禁用Button
EN

Stack Overflow用户
提问于 2015-09-09 05:58:40
回答 2查看 4K关注 0票数 0

我需要禁用一个按钮,一旦它被点击,所以用户不能点击它不止一次。(我的应用程序是用MVC ASP.NET编写的,我是在一个普通的ASP.NET应用程序中这样做的。)

我试过使用JavaScript和jQuery,但它不起作用。该按钮被禁用,但没有提交表单。

jQuery:

代码语言:javascript
复制
$("#ClickMe").attr("disabled", "disabled"); 

JavaScript:

代码语言:javascript
复制
function DisableNextButton(btnId) {
    document.getElementById(btnId).disabled = 'true';
}

这两种方法都很有效,但现在表单不提交了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-09 06:01:01

jQuery现在有了.one()函数,它将任何给定的事件(如“提交”)限制为一次发生。

示例:

代码语言:javascript
复制
$('#myForm').one('submit', function() {
    $(this).find('input[type="submit"]').attr('disabled','disabled');
});

此代码将允许您提交一次表单,然后禁用该按钮。将find()函数中的选择器更改为您希望禁用的任意按钮。

注意:我已经将选择器更改为表单,并将事件类型更改为提交。这允许您在提交时仍然禁用按钮时,可以从任何地方(按钮以外的位置)提交表单。

注释2:每个gorelog的,使用attr('disabled','disabled')将阻止表单发送提交按钮的值。如果要传递按钮值,请改用attr('onclick','this.style.opacity = "0.6"; return false;')

DEMO page

票数 0
EN

Stack Overflow用户

发布于 2015-09-09 06:10:08

代码语言:javascript
复制
var button = $('<button>Click Me</button>');

button.clicked = false;

$('body').append(button);

button.click(function(){
  
  if(button.clicked) return;
  button.clicked = true;
  button.prop('disabled', true);
  
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32471911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档