Document.write() が JavaScript 関数のフォーム要素を削除するのはなぜですか?

Mary-Kate Olsen
リリース: 2024-10-24 07:05:30
オリジナル
566 人が閲覧しました

Why Does Document.write() Remove Form Elements in JavaScript Functions?

Document.write() とページ レンダリング

Web 開発では、 document.write() メソッドがフォーム要素を削除することはまれです。関数内で呼び出されたときに画面から。ただし、特定のシナリオでは、実際にこの効果が生じる可能性があります。

document.write() について

document.write() は主にコンテンツを直接書き込むために使用されます。 HTML ドキュメントの出力ストリーム。このストリームは通常、ページが最初に読み込まれるときに作成され、ページのレンダリングが終了したときに閉じられます。

ケーススタディ: フォーム要素のクリア

提供されたコード スニペットでは、 document.write() メソッドは、「検証のために押してください」ボタンのクリック イベントに応答して、validator() 関数内で呼び出されます。この呼び出しは、「thebox」チェックボックスの状態に応じてメッセージを表示することを目的としています。

ただし、validator() 関数の呼び出し時にドキュメントの出力ストリームが閉じられる可能性があるために問題が発生します。通常、このストリームは、ページがすべてのリソースの読み込みを完了した後に閉じられます。 document.write() が閉じられたストリームで呼び出されると、自動的に document.open() が呼び出され、フォーム要素を含むドキュメント全体がクリアされます。

Solution

フォーム要素がクリアされないようにするには、次のようなドキュメントのコンテンツを動的に更新するための代替メソッドを使用することをお勧めします。

  • document.createElement()
  • 既存の要素の innerHTML プロパティを変更する
  • document.querySelector() または document.querySelectorAll() メソッドを使用して特定の要素をターゲットにする

以上がDocument.write() が JavaScript 関数のフォーム要素を削除するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!