Подтвердить что ты не робот

JQuery get textarea text

Недавно я начал играть с jQuery, и я слежу за несколькими учебниками. Теперь я чувствую себя немного компетентным с его использованием (это довольно легко), и я подумал, что было бы здорово, если бы я смог создать "консоль" на моей веб-странице (например, вы нажимаете клавишу ", как вы делаете в игры FPS и т.д.), а затем снова запустите Ajax на сервер, чтобы делать что-то.

Я изначально думал, что лучший способ - просто получить текст внутри текстового поля, а затем разделить его или использовать событие keyup, преобразовать код ключа, возвращенный символу ASCII, добавить символ в строку и отправить строка на сервер (затем пустая строка).

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

4b9b3361

Ответ 1

Почему вы хотите преобразовать штрихи в текст? Добавьте кнопку, которая отправляет текст внутри текстового поля на сервер при нажатии. Вы можете получить текст, используя атрибут value, как ранее указывал плакат, или с помощью jQuery API:

$('input#mybutton').click(function() {
    var text = $('textarea#mytextarea').val();
    //send to server and process response
});

Ответ 2

Где часто используется текстовая функция (например, в div и т.д.), тогда для текстовой области это val

получим:

$('#myTextBox').val();

набор:

$('#myTextBox').val('new value');

Ответ 3

У вас должен быть div, который содержит только консольные сообщения, то есть предыдущие команды и их вывод. И под вводом ввода или textarea, который просто держит команду, которую вы вводите.

-------------------------------
| consle output ...           |
| more output                 |
| prevous commands and data   |
-------------------------------
> This is an input box.

Таким образом вы просто отправляете значение поля ввода на сервер для обработки и добавляете результат в консольные сообщения div.

Ответ 4

Обычно это свойство value

testArea.value

Или что-то мне не хватает в том, что вам нужно?

Ответ 5

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

var char = String.fromCharCode(v_code);

Оттуда я затем добавлю символ в строку, и при нажатии клавиши ввода отправьте строку на сервер. Извините, если мой вопрос казался несколько загадочным, а название означало что-то почти полностью вне темы, это рано утром, и я еще не завтракал;).

Спасибо всем за помощь.

Ответ 6

Понятно, что слово "консоль" вызывает путаницу.

Если вы хотите эмулировать консоль полного/полудуплексного стиля старого стиля, вы должны использовать что-то вроде этого:

$('console').keyup(function(event){
    $.get("url", { keyCode: event.which }, ... );
    return true;
});

event.which имеет нажатый ключ. Для обработки обратного пространства event.which === 8.

Ответ 7

лучший способ:   $ ('# myTextBox'). val ('новое значение'). trim();

Ответ 8

Прочитайте значение textarea и преобразование кода в символ:

function keys(e) {
  msg.innerHTML = 'last key: ${String.fromCharCode(e.keyCode)}'
  
  if(e.key == 'Enter') {
    console.log('send: ', mycon.value);
    mycon.value='';
    e.preventDefault();
  }
}
Push enter to 'send'<br>
<textarea id='mycon' onkeydown="keys(event)"></textarea>

<div id="msg"></div>