Javascript 如何在HTML中禁用一种输入类型

Javascript 如何在HTML中禁用一种输入类型,javascript,java,jquery,json,crud,Javascript,Java,Jquery,Json,Crud,我有一个webapp,它实现CRUD功能。我试图达到的目标是使addeditrow不同于Edit。这就是我的意思。当我调用Add函数时,它使用户能够(甚至必须)提供ID,而Edit禁用用户提供ID(或者它将保存一个新实体,而不是更新)。最简单的方法是为输入类型添加“disable”。我试过这个: <div class="form-group"> <label for="userId" class="control-label col-xs-3">ID</label&

我有一个webapp,它实现CRUD功能。我试图达到的目标是使addeditrow不同于Edit。这就是我的意思。当我调用Add函数时,它使用户能够(甚至必须)提供ID,而Edit禁用用户提供ID(或者它将保存一个新实体,而不是更新)。最简单的方法是为输入类型添加“disable”。我试过这个:

<div class="form-group">
<label for="userId" class="control-label col-xs-3">ID</label>
<div class="col-xs-9">
<input type="number" class="form-control" id="userId" name="userId" 
<c:choose>
<c:when test="${user.userId== null}"> placeholder="ID" 
</c:when> 
<c:otherwise> 
placeholder = "${user.userId}" disabled </c:otherwise>
</c:choose>>
</div>
</div> 

我觉得创建两个editRow并没有多大区别,只需将disabled属性添加到要禁用的输入中即可。最简单的方法是选择每个循环之外的输入并指定属性

form.find("input[name='ID']").prop("disabled", true);
如果您想将所有这些都保持在周期内,您可以执行以下操作:

function updateRow(id) {
    $.get(ajaxUrl + id, function (data) {
        $.each(data, function (key, value) {
            var input = form.find("input[name='" + key + "']");
            input.val(value);
            if(key=="ID") 
                input.prop("disabled", true);
        });
        $('#editRow').modal();
    });
}

更改
ID
输入的实际名称

这将禁用所有字段,而不仅仅是ID:)@Alex抱歉,我读你的问题太快了,没有注意到它在所有输入的周期内,请检查我更新的答案,也许会有帮助。
function updateRow(id) {
    $.get(ajaxUrl + id, function (data) {
        $.each(data, function (key, value) {
            var input = form.find("input[name='" + key + "']");
            input.val(value);
            if(key=="ID") 
                input.prop("disabled", true);
        });
        $('#editRow').modal();
    });
}