Недавно я начал играть с jQuery, и я слежу за несколькими учебниками. Теперь я чувствую себя немного компетентным с его использованием (это довольно легко), и я подумал, что было бы здорово, если бы я смог создать "консоль" на моей веб-странице (например, вы нажимаете клавишу ", как вы делаете в игры FPS и т.д.), а затем снова запустите Ajax на сервер, чтобы делать что-то.
Я изначально думал, что лучший способ - просто получить текст внутри текстового поля, а затем разделить его или использовать событие keyup, преобразовать код ключа, возвращенный символу ASCII, добавить символ в строку и отправить строка на сервер (затем пустая строка).
Я не мог найти никакой информации о получении текста из текстового поля, все, что у меня было, это информация о ключах. Также, как я могу преобразовать код ключа, возвращенный символу ASCII?
Почему вы хотите преобразовать штрихи в текст? Добавьте кнопку, которая отправляет текст внутри текстового поля на сервер при нажатии. Вы можете получить текст, используя атрибут value, как ранее указывал плакат, или с помощью jQuery API:
$('input#mybutton').click(function() {
var text = $('textarea#mytextarea').val();
//send to server and process response
});
У вас должен быть div, который содержит только консольные сообщения, то есть предыдущие команды и их вывод. И под вводом ввода или textarea, который просто держит команду, которую вы вводите.
-------------------------------
| consle output ... |
| more output |
| prevous commands and data |
-------------------------------
> This is an input box.
Таким образом вы просто отправляете значение поля ввода на сервер для обработки и добавляете результат в консольные сообщения div.
Где часто используется текстовая функция (например, в div и т.д.), тогда для текстовой области это val
получим:
$('#myTextBox').val();
набор:
$('#myTextBox').val('new value');
Обычно это свойство value
testArea.value
Или что-то мне не хватает в том, что вам нужно?
Я понял, что могу преобразовать ключевой код события в символ, используя следующую функцию:
var char = String.fromCharCode(v_code);
Оттуда я затем добавлю символ в строку, и при нажатии клавиши ввода отправьте строку на сервер. Извините, если мой вопрос казался несколько загадочным, а название означало что-то почти полностью вне темы, это рано утром, и я еще не завтракал;).
Спасибо всем за помощь.
Понятно, что слово "консоль" вызывает путаницу.
Если вы хотите эмулировать консоль полного/полудуплексного стиля старого стиля, вы должны использовать что-то вроде этого:
$('console').keyup(function(event){
$.get("url", { keyCode: event.which }, ... );
return true;
});
event.which имеет нажатый ключ. Для обработки обратного пространства event.which === 8.
лучший способ: $ ('# myTextBox'). val ('новое значение'). trim();