为什么 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中文网其他相关文章!