Получить обновленное значение из текстовой области и вставить его в div с помощью jQuery?

StackOverflow https://stackoverflow.com/questions/1434392

Вопрос

вот простой способ (с которым я борюсь)!У меня есть текстовое поле, кнопка и пустой div.Все, что я хочу сделать, это вставить обновленное содержимое текстовой области в div при нажатии кнопки.Вот что у меня есть на данный момент:

<html>
 <head>
  <script type="text/javascript" src="jquery.js"></script>
  <script type="text/javascript">
   function get_text() {
    $("#preview").replaceWith( $("#editor").val() );
   }
  </script>
 </head>
 <body>
  <form>
   <textarea name="editor" id="editor">GrumbleCakes</textarea>
   <input type="button" value="Preview" onclick="get_text();" />
  </form>
  <div id="preview"></div>
 </body>
</html>

Это срабатывает при первом нажатии на кнопку...со значением, которое было в текстовом поле при загрузке страницы ("GrumbleCakes"), но это все.Это не будет работать с любым обновленным текстом.

Это было полезно?

Решение

Вы можете установить innerHTML или текстовое содержимое div предварительного просмотра, используя html или text функции:

$("#preview").html($("#editor").val());

Другие советы

.replaceWith фактически заменяет элемент DOM.Таким образом, div удаляется и заменяется текстом.Последующие вызовы функции больше не будут находить div, так как он был удален.

Я думаю, вы хотите использовать

.html($("#editor").val()).

И то , и другое

$('#preview").html($("#editor").val())

и

$("#preview").text( $("#editor").val())

должно сработать.

Однако .html позволит любому внедрить html или javascript на ваш сайт, оставляя его широко открытым для межсайтовых скриптовых атак...

блин!!

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

function get_text(){
    var t=$("editor").val();
    $("#preview").text(t);
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top