如何检查弹簧形式的字段是否被禁用?

时间:2019-01-03 02:47:50

标签: javascript jquery spring-mvc

我需要知道弹簧形式的字段是否被禁用。我该怎么办?

var isDisabled = $('#dateUsed').prop('disabled');
var isDisabled = document.getElementById('dateUsed').disabled;

我尝试了这些代码来检查它是否被禁用,但是即使被禁用,它也会返回false。

代码:

字段:

<div class="row">
      <div class="col-md-4">
              <div class="form-group">
                      <form:label path="materialUsed.dateUsed">Date Used</form:label> <star id="dateUsedStar" class="hidden" >*</star>
                      <form:input path="materialUsed.dateUsed" type="text" class="form-control datetimepicker" id="dateUsed" disabled="true"/>
              </div>
      </div>
</div>

在我的Javascript中:

var isDisabled = $('#dateUsed').prop('disabled');
var isDisabled = document.getElementById('dateUsed').disabled;
alert(isDisabled);

我希望输出为true,因为它已在表单中被禁用。

2 个答案:

答案 0 :(得分:0)

您可以使用“ is”方法对此进行测试;这将返回一个布尔值

$('#dateUsed').is(':disabled');
console.log($('#dateUsed').is(':disabled')) // True

就个人而言,最好在表单字段中使用 readonly =“ true” 而不是已禁用属性。

答案 1 :(得分:0)

我对您使用的HTML格式不熟悉。

<form:label path="materialUsed.dateUsed">Date Used</form:label> <star id="dateUsedStar" class="hidden" >*</star>
<form:input path="materialUsed.dateUsed" type="text" class="form-control datetimepicker" id="dateUsed" disabled="true"/>

我认为这不是有效的HTML。

尝试此HTML

<div class="row">
<div class="col-md-4">
    <form>
        <div class="form-group">
            <label path="materialUsed.dateUsed">Date Used</label> <star id="dateUsedStar" class="hidden" >*</star>
            <input path="materialUsed.dateUsed" type="text" class="form-control datetimepicker" id="dateUsed" disabled="true"/>
        </div>
    </form>
</div>

jQuery

$(document).ready(function(){
    var isDisabled = $('#dateUsed').prop('disabled');
    alert(isDisabled);
});

这是一个示范 https://jsfiddle.net/markou/mo7r5anq/8/

这行得通,而且您做到了。

如果将此HTML替换为上面的HTML,则将无法定义。