javascript - 在定义后停止更新值
问题描述
我试图让它在函数开始时创建一个基于文本字段内容的“oldvalue”,因为我希望某些文本字段在编辑之前自动更新。所以它背后的想法是我将旧值与文本框中当前可编辑的值进行比较,如果它们不匹配,则停止编辑该字段。但是,当我基于不可编辑的文本框定义 oldvalue 时,它会在该框自动更改时不断更新。换句话说,如何在第一次设置值后停止更新?
function DescChanged() {
desc = document.getElementById("Txb_Description");
input = document.getElementById("Txb_WebArtName");
kortinput = document.getElementById("KortBesc");
langinput = document.getElementById("LangBesc");
merk = document.getElementById("Brand");
bestelnr = document.getElementById("Txb_ArticleOrderNr");
const inputold = input;
有了这个 if 子句:
if (kortinput.value == inputold.value || isEmptyOrSpaces(kortinput.value))
解决方案
尝试在函数外部使用一个变量,并在函数内使用一个临时变量,如:
var inputold = "";
function DescChanged() {
desc = document.getElementById("Txb_Description");
input = document.getElementById("Txb_WebArtName");
kortinput = document.getElementById("KortBesc");
langinput = document.getElementById("LangBesc");
merk = document.getElementById("Brand");
bestelnr = document.getElementById("Txb_ArticleOrderNr");
// check if values are equal
if (kortinput.value == inputold.value || isEmptyOrSpaces(kortinput.value))
const inputold = input; // update the oldvalue
}
推荐阅读
- javascript - 如何获取对象的属性名称并在 javascript 中使用该属性名称
- reactjs - You may need an appropriate loader to handle this file type.
- ssl - 如果我要反向代理子域,我应该使用什么 SSL 证书?
- c# - OWIN Authentication.GetExternalLoginInfo() 不适用于linkedin,但适用于其他人
- java - 我在 okhttp 库中没有看到我与 Picasso 一起使用的照片?
- angular - PrimeNg
排序 - python - Pandas 只在 excel 中编写部分代码
- xaml - 如何通过在 Xamarin 中调用 API 在 UI 上显示数据
- string - 如何在 Bash 脚本中连接字符串变量
- c - 我在 C 程序中对数组进行排序时出错