點擊「驗證」按鈕時會觸發 validator() 函數。發生的情況如下:

  1. 此時,文件可能已完成加載,這表示文件流已關閉。
  2. 呼叫 document.write() 自動觸發 document.open( ),這會清除目前文檔,刪除所有現有元素。
  3. 隨後,在 document.write() 中指定的文字將呈現在現在為空的文件中。

因此,表單元素(複選框和按鈕)從頁面中刪除,因為整個文件被刷新,用 document.write() 的輸出替換先前的內容。

因此,在使用 document.write() 時,在寫入之前明確使用 document.open() 確保文件流保持開啟狀態至關重要。否則,清除文件的不可預測的行為可能會破壞預期的功能。

","image":"http://www.luping.net/uploads/20241031/17303378466722dc365be49.jpg","datePublished":"2024-11-08T15:59:11+08:00","dateModified":"2024-11-08T15:59:11+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼 document.write() 會清除頁面?

為什麼 document.write() 會清除頁面?

發佈於2024-11-08
瀏覽:865

Why Does document.write() Clear the Page?

為什麼Document.write會清空頁面?

在JavaScript中使用document.write()方法時,程式設計師經常會遇到一個奇特的情況行為:在事件處理程序(例如onClick)中呼叫document.write() 可能會導致文檔被清除。

要理解這種意外結果,必須了解 document.write() 的本質。此函數寫入文件流,文檔流是表示瀏覽器中顯示的文檔的連續資料流。

在提供的程式碼範例中:

點擊「驗證」按鈕時會觸發 validator() 函數。發生的情況如下:

  1. 此時,文件可能已完成加載,這表示文件流已關閉。
  2. 呼叫 document.write() 自動觸發 document.open( ),這會清除目前文檔,刪除所有現有元素。
  3. 隨後,在 document.write() 中指定的文字將呈現在現在為空的文件中。

因此,表單元素(複選框和按鈕)從頁面中刪除,因為整個文件被刷新,用 document.write() 的輸出替換先前的內容。

因此,在使用 document.write() 時,在寫入之前明確使用 document.open() 確保文件流保持開啟狀態至關重要。否則,清除文件的不可預測的行為可能會破壞預期的功能。

版本聲明 本文轉載於:1729722995如有侵犯,請洽[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3