嘗試從輸入欄位擷取value 屬性時資料擷取時,您可能會遇到意外錯誤:無論您輸入什麼內容,輸入值都是空的。如果您成功定位了正確的輸入欄位和按鈕,這個謎團可能看起來令人困惑。
讓我們深入研究這個問題的根本原因。 JavaScript 變數(如程式碼中的 inputValue)在建立時會保存值的快照。因此,當您最初執行腳本時,inputValue 變數會在頁面載入時被指派空字串。
不幸的是,儘管隨後對輸入欄位的值進行了修改,但該變數仍保持不變。這是因為 JavaScript 字串是不可變的,一旦分配就無法更改。因此,您在輸入欄位中進行的任何按鍵都不會反映在 inputValue 變數中。
要克服這個挑戰,您有兩種選擇:
1。每次查詢元素:
不是在頁面載入期間將值指派給變量,而是每次按一下按鈕時查詢元素:
const testing = () => { const inputValue = document.getElementById("inputField").value; alert(inputValue); };
此方法可確保inputValue變數始終包含輸入欄位中輸入的最新值。
2.使用對元素的引用:
或者,您可以保留對元素的引用並動態查詢value 屬性:
const inputElement = document.getElementById("inputField"); const testing = () => alert(inputElement.value);
透過動態查詢value 屬性,您可以避免使用靜態變數的潛在陷阱並保證您使用目前輸入值。
以上是為什麼我的 JavaScript 輸入值始終為空,即使我在欄位中輸入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!