我提交以下代码以在提交表单时禁用提交按钮:
$('#myform').submit(function(){
$('input[type=submit]', this).attr('disabled', 'disabled');
});
是否有更简洁的语法?
答案 0 :(得分:2)
$('input').disable(); //disables
$('input').enable(); //enables
$('input').toggleDisabled(); //toggles
$('input').toggleEnabled(); //toggles
$('input').toggleDisabled(true); //disables
$('input').toggleEnabled(true); //enables
或者,如果您不想要插件,可以使用:
jQuery.fn.disable = function() {
$( this ).prop( "disabled", true );
};
$('input[type=submit]', this).disable();
答案 1 :(得分:2)
好吧,首先我给它一个ID,否则你将禁用每个提交按钮,这可能是也可能不是你想要的。
除此之外,that's about it除非您想使用disable plugin。
答案 2 :(得分:1)
$('#myform').submit(function(){
$('input[type=submit]', this).prop('disabled', true);
});
它不能比这更简洁。它足够干净。我使用$.prop()
更改了$.attr()
,因为这是您应该用来设置和获取值的内容,这会更改元素的状态,但不会更改属性本身。
来自文档:
.prop()
方法应该用于设置已禁用和已检查而不是.attr()
方法。
答案 3 :(得分:0)
一个清洁版可以是这样的:
$(this).find(':submit').attr('disabled', true);
也
$(this).find(':submit').prop('disabled', true);