Rumah  >  Artikel  >  hujung hadapan web  >  Mengapa Document.write() Mengalih keluar Elemen Borang dalam Fungsi JavaScript?

Mengapa Document.write() Mengalih keluar Elemen Borang dalam Fungsi JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-24 07:05:30569semak imbas

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

Document.write() dan Perenderan Halaman

Dalam pembangunan web, kaedah document.write() jarang mengalih keluar elemen borang daripada skrin apabila dipanggil dalam fungsi. Walau bagaimanapun, dalam senario tertentu, ia sememangnya boleh memberi kesan ini.

Memahami document.write()

document.write() digunakan terutamanya untuk menulis kandungan terus ke aliran keluaran dokumen HTML. Strim ini biasanya dibuat apabila halaman pertama kali dimuatkan dan ditutup apabila halaman selesai dipaparkan.

Kajian Kes: Mengosongkan Elemen Borang

Dalam coretan kod yang disediakan, kaedah document.write() dipanggil dalam fungsi validator() sebagai tindak balas kepada peristiwa klik pada butang "Tekan saya untuk pengesahan". Panggilan ini bertujuan untuk memaparkan mesej bergantung pada keadaan kotak pilihan "kotak".

Walau bagaimanapun, isu ini berlaku kerana aliran output dokumen mungkin ditutup apabila fungsi validator() digunakan. Biasanya, strim ini ditutup selepas halaman selesai memuatkan semua sumbernya. Apabila document.write() dipanggil pada aliran tertutup, ia secara automatik memanggil document.open(), yang mengosongkan keseluruhan dokumen, termasuk sebarang elemen bentuk.

Penyelesaian

Untuk mengelakkan elemen borang daripada dikosongkan, disyorkan untuk menggunakan kaedah alternatif untuk mengemas kini kandungan dokumen secara dinamik, seperti:

  • Mencipta elemen DOM baharu dengan document.createElement()
  • Mengubah suai sifat innerHTML elemen sedia ada
  • Menggunakan kaedah document.querySelector() atau document.querySelectorAll() untuk menyasarkan elemen tertentu

Atas ialah kandungan terperinci Mengapa Document.write() Mengalih keluar Elemen Borang dalam Fungsi JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn