Используйте Javascript, чтобы найти текст в DIV, вставить в форму HTML? - PullRequest
1 голос
/ 19 октября 2010

В настоящее время я работаю над расширением Safari для создания печатной формы на основе информации, представленной на веб-сайте. Настраиваемая таблица стилей CSS не была бы идеальной, вместо этого я надеялся, что можно будет сделать следующее ...

Если бы у меня был следующий DIV на странице с именем name.html

<div id="name">John</div>

Есть ли способ получить содержимое #name и передать его в текстовое поле на другой странице с именем form.html ? В идеале, избегать серверных сценариев?

1 Ответ

1 голос
/ 19 октября 2010

Чтобы извлечь текст элемента (как в ALL текст, включая подузлы):

var value = document.getElementById('name').textContent;

Затем, чтобы назначить текст полю ввода на другой странице:

document.getElementById('myField').value = value;

Конечно, это не работает на разных страницах.Если вы не хотите использовать для этого код на стороне сервера, одним из простых способов сделать это было бы передать код в строке запроса, перенаправить на страницу формы и извлечь переменную из параметров запроса.Это звучит проще, чем на самом деле, так как вам понадобится функция для добавления параметра запроса , другая для чтения параметра запроса и чтобы быть уверенным, что все закодировано и правильно декодировано .

Другая, плохая, альтернатива может быть использование файлов cookie через JavaScript .

Другая, более качественная, но еще не распространенная, альтернативаиспользовать WebStorage API .(см. localStorage и / или sessionStorage ).Для этого потребуется современный браузер, поддерживающий эти API (например, Google Chrome, IE9, Firefox 4 и т. Д.)

Встроенные ссылки предоставят недостающие части.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...