簡體   English   中英

在定義后停止更新值

[英]Stopping a value from being updated after being defined

我試圖讓它在 function 開始時創建一個基於文本字段內容的“舊值”,因為我希望某些文本字段在編輯之前自動更新。 所以它背后的想法是我將舊值與文本框中當前可編輯的值進行比較,如果它們不匹配,則停止編輯該字段。 但是,當我基於不可編輯的文本框定義 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))

嘗試在 function 之外使用一個變量,並在 function 中使用一個臨時變量,如下所示:

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
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM