Warum löscht Document.write die Seite?
Bei der Verwendung der document.write()-Methode in JavaScript stoßen Programmierer häufig auf eine Besonderheit Verhalten: Das Aufrufen von document.write() innerhalb eines Ereignishandlers wie onClick kann dazu führen, dass das Dokument gelöscht wird.
Um dieses unerwartete Ergebnis zu verstehen, ist es wichtig, die Natur von document.write() zu verstehen. Diese Funktion schreibt in den Dokumentstrom, der den kontinuierlichen Datenfluss darstellt, der das im Browser angezeigte Dokument darstellt.
Im bereitgestellten Codebeispiel:
<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>
Die validator()-Funktion wird ausgelöst, wenn auf die Schaltfläche „Validierung“ geklickt wird. Folgendes passiert:
Folglich Die Formularelemente (Kontrollkästchen und Schaltfläche) werden von der Seite entfernt, da das gesamte Dokument aktualisiert wird und der vorherige Inhalt durch die Ausgabe von document.write() ersetzt wird.
Daher gilt bei der Arbeit mit document.write() , ist es wichtig, sicherzustellen, dass der Dokumentstrom geöffnet bleibt, indem document.open() explizit verwendet wird, bevor in ihn geschrieben wird. Andernfalls kann das unvorhersehbare Verhalten beim Löschen des Dokuments die beabsichtigte Funktionalität beeinträchtigen.
Das obige ist der detaillierte Inhalt vonWarum löscht document.write() die Seite?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!