我需要在点击按钮后停用它,这样用户就无法多次点击它。 (我的应用程序是用MVC ASP.NET编写的,我在普通的ASP.NET应用程序中完成了这个。)
我尝试使用JavaScript和jQuery,但它无法正常工作。该按钮被禁用但表单未提交。
jQuery的:
$("#ClickMe").attr("disabled", "disabled");
JavaScript的:
function DisableNextButton(btnId) {
document.getElementById(btnId).disabled = 'true';
}
这两种方法都很有效,但现在表格不会提交。
答案 0 :(得分:0)
jQuery现在具有.one()
功能,可以将任何给定事件(例如"提交")限制为一次出现
示例:
$('#myForm').one('submit', function() {
$(this).find('input[type="submit"]').attr('disabled','disabled');
});
此代码将允许您提交表单一次,然后禁用该按钮。将find()函数中的选择器更改为您要禁用的任何按钮。
注意:根据Francisco Goldenstein的说法,我已将选择器更改为要提交的表单和事件类型。这允许您从任何地方(按钮以外的位置)提交表单,同时仍然禁用提交时的按钮。
注2:每个gorelog,使用attr('disabled','disabled')
会阻止您的表单发送提交按钮的值。如果您想传递按钮值,请改用attr('onclick','this.style.opacity = "0.6"; return false;')
。
答案 1 :(得分:0)
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);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>