Почему этот код Javascript не записывается на веб-страницу? - PullRequest
2 голосов
/ 20 июня 2010

Я только начал изучать Javascript. Я хочу "Hello World!" быть записанным на веб-страницу, когда пользователь нажимает кнопку. Я пробовал это:

<html>
<head>
<script type="text/javascript">
function displaymessage()
{
document.write("Hello World!");
}
</script>
</head>

<body>
<form>
<input type="button" value="Click me!" onclick="displaymessage()" />
</form>
</body>
</html>

Я могу заставить его сделать window.alert("Hello World!"), но не сделать document.write("Hello World!") по некоторым причинам. Что происходит, кнопка исчезает, и текст не отображается. Я думаю, что проблема в document.write, но я не знаю, как обойти это. Есть предложения?

Ответы [ 2 ]

5 голосов
/ 20 июня 2010

Поскольку документ уже был написан на тот момент.Вы можете установить текст следующим образом:

<button id="lol">blah</button>
<script>
    function setText( obj, to ) {
        obj.textContent? obj.textContent = to : obj.innerText = to;
    }
    var lol = document.getElementById('lol')

    lol.onclick = function() {
        var p = document.createElement('p');
        document.body.appendChild(p);
        setText( p, 'hi' );
    }
</script>

Еще одна популярная, но часто опускающаяся техника - innerHTML.

2 голосов
/ 20 июня 2010

Document.write используется для записи в текущий загружаемый файл HTML. Когда страница загружена и пользователь начинает взаимодействовать со страницей, document.write становится бесполезным.

...