jQuery получить textarea текст

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

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

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

7 ответов


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

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

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

get:

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

set:

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

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

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

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


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

testArea.value

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


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

var char = String.fromCharCode(v_code);

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

Спасибо за вашу помощь ребята.


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

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

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

событие.в которой есть ключ, который был нажат. Для обработки backspace, событие.что === 8.


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