Dalam dokumen HTML, memanggil document.write() dalam fungsi boleh mempunyai akibat yang tidak dijangka, seperti yang dilihat dalam kod berikut:
<code class="html"><input type="checkbox" name="thebox" /> <input type="button" onClick="validator()" name="validation" value="Press me for validation" /></code>
<code class="javascript">function validator() { if (document.myForm.thebox.checked) document.write("checkBox is checked"); else document.write("checkBox is NOT checked"); }</code>
Isu: Selepas mengklik butang pengesahan, elemen borang (kotak semak dan butang) hilang daripada halaman.
Penjelasan:
document.write() ialah fungsi berkuasa yang menulis terus ke aliran keluaran dokumen HTML. Apabila dipanggil di dalam fungsi, document.write() mempunyai implikasi berikut:
Dalam kes ini, apabila validator() dipanggil, document.write() membuka semula dokumen secara automatik , yang mengosongkan keseluruhan halaman, termasuk elemen borang.
Penyelesaian:
Untuk mengelakkan tingkah laku ini, seseorang harus menggunakan kaedah alternatif untuk memanipulasi kandungan dokumen, seperti document.createElement() atau API manipulasi DOM.
Atas ialah kandungan terperinci Apakah Akibat Menggunakan document.write() dalam Fungsi JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!