為什麼 Document.write 會清空頁面?
在JavaScript 中使用document.write() 方法時,程式設計師經常會遇到一個奇特的情況行為:在事件處理程序(例如onClick)中呼叫document.write() 可能會導致文檔被清除。
要理解這種意外結果,必須掌握 document.write() 的本質。此函數寫入文件流,文檔流是表示瀏覽器中顯示的文檔的連續資料流。
在提供的程式碼範例中:
<code class="html"><form name="myForm"> <input type="checkbox" name="thebox" /> <input type="button" onClick="validator()" name="validation" value="Press me for validation" /> </form> <script type="text/javascript"> function validator() { if (document.myForm.thebox.checked) { document.write("checkBox is checked"); } else { document.write("checkBox is NOT checked"); } } </script></code>
validator() 函數點擊「驗證」按鈕時觸發。發生的情況如下:
因此,表單元素(複選框和按鈕)從頁面中刪除,因為整個文件被刷新,用 document.write() 的輸出替換先前的內容。
因此,在使用 document.write() 時,在寫入文件流之前明確使用 document.open() 確保文件流保持開啟狀態至關重要。否則,清除文件的不可預測的行為可能會破壞預期的功能。
以上是為什麼 document.write() 會清除頁面?的詳細內容。更多資訊請關注PHP中文網其他相關文章!