一尘不染

document.write清除页面

javascript

为什么在下面的代码中调用document.write函数后validator(),表单元素(复选框和按钮)从屏幕上删除了?

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript">
            function validator() {
                if (document.myForm.thebox.checked)
                    document.write("checkBox is checked");
                else 
                    document.write("checkBox is NOT checked");
            }
        </script>
    </head>
    <body>
        <form name="myForm">
            <input type="checkbox" name ="thebox"/>
            <input type="button" onClick="validator()" name="validation" value="Press me for validation"/>
        </form>
    </body>
</html>

阅读 268

收藏
2020-04-25

共1个答案

一尘不染

document.write()用于写入文档

在您的情况下,调用onClick处理程序时流很可能已经关闭,因为您的文档已完成加载。

调用document.write()封闭的文档流会自动调用document.open(),这将清除文档。

2020-04-25