首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JavaScript 隱藏欄位值為 null?少寫了 id="money"

     編輯:程式設計綜合問答

錯誤現場

<input type="hidden" name="money" value="" />
document.getElementById("money").value = sum_all; // Uncaught TypeError: Cannot set property 'value' of null

原因

document.getElementById("money") 依 **id** 屬性查找元素,但 HTML 只有 name="money",**缺少 id="money"**,所以回傳 null。

修正

<input type="hidden" name="money" id="money" value="" />

補充:name vs id

屬性用途唯一性JS 取得方式
name表單提交時的鍵值、伺服端接收參數名可重複(如 radio group)document.getElementsByName("money")[0]
id文件樹中唯一識別、CSS 選擇器、JS 直接取元素**全頁唯一**document.getElementById("money")

**最佳實務:表單欄位同時設定 name(給後端)與 id(給前端 JS/CSS),兩者值通常相同。**

延伸:現代框架不需手動綁定

若使用 Vue/React/Angular,請用雙向綁定或 refs,完全避開 getElementById 這類手動 DOM 操作,根除此類低級錯誤。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved