Коробка, где я могу добавить написанные вещи - PullRequest
0 голосов
/ 26 марта 2011

Мне нужно создать псевдо-чат, который будет добавлять текст из текстовой области после нажатия кнопки в поле над текстовой областью.Пока мой код выглядит следующим образом

<form name="frm1" id="puts">
  <textarea name="txt1" COLS=15 ROWS=1></textarea>
  <a class="Sisesta Nupp" id="nupp5" href="#"
     onclick="alert(document.frm1.txt1.value) +(document.frm1.txt1.value='')"">
    <span>Sisesta </span>
  </a>

Но как сделать так, чтобы он был записан в поле над текстовой областью, чтобы он не стирал ранее записанные вещи из вышеуказанного поля?А как нарисовать прямоугольник, который сделает прокрутку, если текст больше не помещается?Когда я пишу что-то, оно должно отвечать мне случайным предложением из списка.

edit1: поскольку html - это дерьмо, а два других решения (которые были хорошими) не работают в моем коде, я быХотелось бы знать, как я могу просто добавить document.frm1.txt1.value в поле над моей текстовой областью?

Ответы [ 2 ]

2 голосов
/ 26 марта 2011

Ну, у меня было несколько минут, чтобы убить (в ожидании ответа IM), поэтому я придумал эту возможность, используя слегка измененный HTML:

<div id="box">
    <ol id="chat"></ol>
</div>
<form action="#" method="post">
    <textarea id='text'></textarea>
    <input type='submit' value='send' id='button'>
</form>
<div id='result'></div>

и jQuery:

$('#button').click(
    function(){
        var text = $('#text').val();
        $('<li />')
            .text(text)
            .appendTo('#chat');
          $('#text').val('');
        return false;
    });

$('#text').keypress(
    function(e){
        if (e.keyCode == 13 && e.shiftKey == true){
           // might be a better way to do 'nothing'...
        }
        else if (e.keyCode == 13) {
            $('#button').click();
            return false;
        }
    });

Демонстрация JS Fiddle .

<ч /> Отредактировано для ссылки на пересмотренную демонстрацию (для этого «классического IM»): JS Fiddle .

2 голосов
/ 26 марта 2011

Легко создать с помощью jQuery:

jQuery код:

$('#button').click(function() {
   $('#result').append('<br />'+$('#text').val());
   $('#text').val('').focus(); 
});

HTML:

<textarea id='text'></textarea>
<input type='button' value='send' id='button'>
<div id='result'></div>

Вот, пожалуйста!jsFiddle --edit: - исправлено

...