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

JavaScript 給輸入框賦值失敗:input 無 onload 事件,需掛載 window.onload

     編輯:程式設計綜合問答

錯誤代碼模式

<input type="text" id="Text1" onload="showdata()" />  <!-- 錯誤:input 不支持 onload -->
<script>
function showdata() {
    document.getElementById("Text1").innerText = str; // 錯誤屬性
}
</script>

三大修正點

  1. 事件綁定位置:onload 僅屬於 window/body/img/script 等資源加載元素。應使用 window.onload = showdata; 或 <body onload="showdata()">。
  2. 屬性選擇:輸入框值通過 .value 讀寫,innerText/innerHTML 僅適用於容器元素(div/span/td 等)。
  3. 函數閉合:確保 function showdata() { ... } 完整閉合,避免語法錯誤導致後續代碼不執行。

正確完整示例

<input type="text" id="Text1" />

<script>
function showdata() {
    var now = new Date();
    var str = now.getFullYear() + '.' + (now.getMonth()+1) + '.' + now.getDate();
    document.getElementById("Text1").value = str; // 關鍵:.value
}
window.onload = showdata; // 關鍵:window.onload
</script>

進階:分離式寫法

<script src="utils.js"></script>  <!-- utils.js 內: export function showdata(){...} -->
<script>
import { showdata } from './utils.js';
document.addEventListener('DOMContentLoaded', showdata); // 現代標準,比 onload 更早觸發
</script>
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved