Document.write clears page
document.write()
is used to write to the document stream.
In your case, the stream is most probably already closed when the onClick handler is called, because your document has finished loading.
Calling document.write()
on a closed document stream automatically calls document.open()
, which will clear the document.
Calling document.write
after the document has been loaded implicitly calls document.open
, which clears the current document. (Compare to calling document.open
while the page is loading, which inserts the string into the document stream; it does not clear the document.)
document.write
is one of the oldest vestiges of ancient JavaScript, and should generally be avoided. Instead, you probably want to use DOM manipluation methods to update the document.
you can use
alert("Checkbox is checked");
or if you will be displaying it on page, first create an element with an id "message" (you can write anything you want, but remember, id's have to be unique on the page) like
<div id="message"></div>
and then use
document.getElementById("message").innerHTML = "Checkbox is checked";
or if you are using jQuery:
$("#message").html("Checkbox is checked");
or if you are using a console enabled browser (Firefox, Chrome etc.)
console.log("Checkbox is checked");
instead of
document.write("Checkbox is checked");
A document.write()
called after the page loads will overwrite the current document.
You want to set the text of some element within your document. If you add a
<p id="message"></p>
to the end of your body, then you can call
document.getElementById("message").innerHTML = "your text here";
Or with the jQuery library
$("#message").html("your text here");