javascript函数,防止用户更改特定列的值

javascript函数,防止用户更改特定列的值,javascript,Javascript,希望你做得很好 我是JavaScript新手,需要您的帮助来完成下面的代码。 我编写了一个JS代码,如下所示: $("#input_KindCode").change(function () { if ($(this).val() == 1) { RunSql("Select DateKey From ProjectExecution.Contractinfo WHERE PlanCode = " + $("#input_PlanCode").val() + " AND ProjectC

希望你做得很好 我是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”列是否有值。如果为true,值将显示在字段中,否则用户必须为该列输入值

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

因此,我需要一个函数来防止用户在字段中显示列时更改列的值。该函数必须写入代码的“此部分”部分
提前感谢

您可以使用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");
        }

欢迎来到堆栈溢出。在哪里定义了功能
EnableCol
?你能把HTML的基本部分也包括进来吗?我不知道如何解决你的问题,但我想有人应该注意到,这段代码表明最终用户可以运行任意SQL,这意味着他们可以对你的数据库做任何他们想做的事。如果这是一个公共网站,在前端和数据库之间应该有一个更安全的API。谢谢。我的应用程序上有一个数据输入表单和一个sql-server表,这是该表单上的Java脚本。如果用户看到“datekey”列/字段上的值,他应该无法更改该值。我需要它!thanksit很奇怪,你必须特别启用它,但如果你不。。。似乎
EnableCol
什么都不做-至于如何禁用它。。。这真的取决于你有什么样的控制权——你根本没有表现出来
我不能使用函数“disable column”
-当然不能,因为这是一个函数,在您的应用程序中只是一个模糊的概念question@PanteaTourang,如果您信任您的用户,那么您是对的,但是用户总是可以打开控制台并键入
RunSql(“drop table ProjectExecution.contracinfo”)
。我不确定这将在什么上下文中使用,因此可能您的用户是值得信任的,但我想提及它只是为了以防万一。谢谢,但问题是记录不会被插入,因为它为您禁用的列传递null!!!并且该列不可为空!!不,即使已禁用,它也不会传递空记录。您可以通过$(“#input_DateKey”)获取其值。val()