Получение формы ввода Javascript - PullRequest
0 голосов
/ 06 июля 2011

Почему в форме, содержащей текстовое поле и кнопку отправки , я могу оповещать пользователя о том, что было введено в текстовое поле, но могу распечатать это на странице? Что я делаю не так?

Вот код

<form name="Serb" action="" method="get">
<input name="Name" type="text" size="15" maxlength="20" />
<input name="Join" type="submit" value="Join" onClick="serb(this.form)" />

<script type="text/javascript">
    function serb(form){
    var x = document.Serb.Name.value;   
    alert(x); \\this alerts
    document.write(x); \\this should print on page
    }
</script>

По какой-то причине оповещение работает нормально и отображает именно то, что пользователь ввел в поле имени пользователя после нажатия «Присоединиться». Тем не менее, он не будет печатать информацию на странице. Почему это так?

Ответы [ 2 ]

2 голосов
/ 06 июля 2011

Это работает работает .Значение в текстовом поле печатается на странице.

НО:

  1. \\ ничего не значат в Javascript.Комментарии начинаются с //.Скорее всего, это причина того, что вы не видите, что записываемое значение

  2. document.write заменяет все, что находится на странице HTML, своим аргументом.(Если он вызывается после загрузки документа).Так что, если вы не пытаетесь изучать Javascript, это не очень хорошая идея.

    На самом деле не очень хорошая идея использовать его даже при изучении Javascript, если только вы не пытаетесь узнать, как работает document.write.Существуют гибкие (и лучшие) способы манипулирования содержимым страницы, начиная от скромного getElementById до сложных DOM-манипуляций

1 голос
/ 06 июля 2011

Не рекомендуется использовать document.write () после загрузки / анализа страницы. В этот момент он перезапишет страницу HTML новым контентом. document.write () обычно используется во время загрузки страницы для вставки содержимого в определенной точке на странице во время загрузки.

Если вы хотите поместить значение в какой-либо элемент на странице, вам необходимо использовать соответствующие методы DOM для этого, помещая значение в поле ввода, устанавливая innerHTML для элемента div и т. Д. *

Вы можете прочитать о document.write здесь: https://developer.mozilla.org/en/document.write.

Вот пример извлечения значения из поля и помещения его в другой объект на странице без использования document.write (): http://jsfiddle.net/jfriend00/dU8Sr/.

HTML:

<form name="Serb" action="" method="get">
<input name="Name" type="text" size="15" maxlength="20" />
<input name="Join" type="button" value="Join" onClick="serb(this.form)" />
</form>
<br>
<br>Output: <span id="output"></span>

Javascript:

function serb(form) {
    var x = document.Serb.Name.value;   
    document.getElementById("output").innerHTML = x;
}
...