我的html网页上有一个Bootstrap 4按钮。 w3schools(https://www.w3schools.com/bootstrap4/bootstrap_buttons.asp)表示,通过以下方式添加按钮会使其处于禁用状态,即不可点击。
<button type="button" class="btn btn-primary" disabled>Disabled Primary</button>
我想设置按钮的表单,以便在单击按钮时将其禁用。这是我到目前为止的相关部分:
$(document).on('submit', '.Validate', function(e){
e.preventDefault();
var form = $( this );
form.attr('disabled')
$.ajax({
type:'POST',
url:'/workflowautomator/setready/',
data:{
name: (form.find('input[class="name"]')).val()
},
success:function(){
form.removeAttr('disabled')
}
});
});
但是,我看到的.attr用法更像
$( "#greatphoto" ).attr( "title", "Photo by Kelly Clark" );
在该属性中有一个名称和一个值,而不是在上方,而在按钮开始标记中单独有单词“ disabled”。 “禁用”一词实际上不是适当的属性吗? w3schools就这样描述它。我如何使这段代码起作用?
答案 0 :(得分:1)
这不是您需要使用的正确选项:
form.attr('disabled')
替换为:
form.find(".btn-primary").addClass("btn-disabled").prop("disabled", true);
您必须使用.prop()
添加和删除属性属性。在以下代码段中进行检查:
$(function () {
$("button").click(function () {
$(this).addClass("btn-disabled").prop("disabled", true);
});
});
body {padding: 50px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<button class="btn btn-primary">Disable Me</button>