Получить обновленное значение из текстовой области и вставить его в div с помощью jQuery? - PullRequest
1 голос
/ 16 сентября 2009

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

<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»), но это все. Он не будет работать с любым обновленным текстом.

Ответы [ 4 ]

3 голосов
/ 16 сентября 2009

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

$("#preview").html($("#editor").val());
2 голосов
/ 16 сентября 2009

Оба

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

и

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

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

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

2 голосов
/ 16 сентября 2009

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

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

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

0 голосов
/ 16 сентября 2009

Jikes !!

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

function get_text(){
    var t=$("editor").val();
    $("#preview").text(t);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...