首页 > 解决方案 > 用于防止用户更改特定列的值的 javascript 函数

问题描述

希望你做得很好我是 JavaScript 新手,我需要你的帮助来完成下面的代码。我已经编写了一个 JS 代码,如下所示:

$("#input_KindCode").change(function () {
if ($(this).val() == 1) {
    RunSql("Select DateKey From ProjectExecution.Contractinfo WHERE PlanCode = " + $("#input_PlanCode").val() + " AND ProjectCode = '" + $("#input_ProjectCode").val() + "' AND  ContractCode = '" + $("#input_ContractCode").val() + "' AND KindCode = 1 ", function (data) {
        if (data.length > 0) {
            $("#input_DateKey").val(data[0].DateKey);
            /////// THIS PART///////
        } else {
            $("#input_DateKey").val('');
            EnableCol("DateKey");
        }
    });
}
else {
    $("#input_DateKey")[0].value = '';
    EnableCol("DateKey");
};});

在代码的“RunSql”部分,我正在检查“datekey”列是否有值,如果为真,则该值将显示在该字段中,否则用户必须输入该列的值。

问题是我想在代码中添加一些东西。我想显示该值(如果存在)并且我想禁用该列,以便用户无法更改该值。我不能使用“禁用列”功能,因为它在我的情况下不起作用是否还有其他功能?

所以我想要一个函数来防止用户更改列的值,如果它显示在字段上。该功能必须写在代码的“这部分”部分提前谢谢

标签: javascript

解决方案


您可以使用 jquery 禁用此输入字段。要执行此操作,您需要添加一行。

代码:

if (data.length > 0) {
            $("#input_DateKey").val(data[0].DateKey);
            $("#input_DateKey").prop('disabled',true);
        } else {
            $("#input_DateKey").val('');
            $("#input_DateKey").prop('disabled',false);
            EnableCol("DateKey");
        }

推荐阅读