Heim > Web-Frontend > js-Tutorial > Welche Konsequenzen hat die Verwendung von document.write() in JavaScript-Funktionen?

Welche Konsequenzen hat die Verwendung von document.write() in JavaScript-Funktionen?

DDD
Freigeben: 2024-10-24 07:38:02
Original
859 Leute haben es durchsucht

What are the Consequences of Using document.write() in JavaScript Functions?

Verhalten von document.write() bei Funktionsaufrufen

In einem HTML-Dokument kann der Aufruf von document.write() innerhalb einer Funktion unerwartete Folgen haben, wie in der Abbildung gezeigt Folgender Code:

<code class="html"><input type="checkbox" name="thebox" />
<input type="button" onClick="validator()" name="validation" value="Press me for validation" /></code>
Nach dem Login kopieren
<code class="javascript">function validator() {
    if (document.myForm.thebox.checked)
        document.write("checkBox is checked");
    else
        document.write("checkBox is NOT checked");
}</code>
Nach dem Login kopieren

Problem: Nach dem Klicken auf die Validierungsschaltfläche verschwinden die Formularelemente (Kontrollkästchen und Schaltfläche) von der Seite.

Erklärung:

document.write() ist eine leistungsstarke Funktion, die direkt in den Ausgabestream des HTML-Dokuments schreibt. Beim Aufruf innerhalb einer Funktion hat document.write() die folgenden Auswirkungen:

  • Der Ausgabestream des Dokuments ist wahrscheinlich bereits geschlossen, wenn die Funktion aufgerufen wird, da das Dokument vollständig geladen wurde.
  • Der Aufruf von document.write() in einem geschlossenen Stream öffnet automatisch das Dokument und überschreibt seinen vorhandenen Inhalt.

In diesem Fall öffnet document.write() das Dokument automatisch erneut, wenn validator() aufgerufen wird , wodurch die gesamte Seite, einschließlich der Formularelemente, gelöscht wird.

Lösung:

Um dieses Verhalten zu vermeiden, sollte man alternative Methoden verwenden, um den Dokumentinhalt zu manipulieren, wie z document.createElement() oder die DOM-Manipulations-APIs.

Das obige ist der detaillierte Inhalt vonWelche Konsequenzen hat die Verwendung von document.write() in JavaScript-Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage