最近我开始使用jQuery,并学习了一些教程。现在我觉得我可以稍微胜任使用它(这非常简单),我认为如果我能够在我的网页上制作一个“控制台”(就像在FPS游戏中那样,你按下“键”),然后让它自己Ajax回服务器,以便做一些事情,那将会很酷。

我最初认为最好的方法是只获得文本区域内的文本,然后分割它,或者我应该使用keyup事件,将键码转换为ASCII字符,将字符附加到字符串并将字符串发送到服务器(然后清空字符串)。

我找不到任何关于从文本区域获取文本的信息,我得到的只是按键信息。另外,如何将键码转换为ASCII字符?


当前回答

它经常是你使用的文本函数(例如在divs等),然后为文本区域它是val

get:

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

set:

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

其他回答

为什么要将击键转换为文本?添加一个按钮,在单击时将文本区域内的文本发送到服务器。你可以使用value属性获取文本,就像海报之前指出的那样,或者使用jQuery的API:

$('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');

通常,它是value属性

testArea.value

还是你需要的东西中我遗漏了什么?

我已经弄清楚,我可以通过使用以下函数将事件的keyCode转换为字符:

var char = String.fromCharCode(v_code);

从那里,我将把字符附加到一个字符串,当按下enter键时,将字符串发送到服务器。我很抱歉我的问题看起来有点神秘,标题的意思几乎完全偏离主题,现在是早上,我还没有吃早餐;)

谢谢你们的帮助。

您应该有一个div,它只包含控制台消息,即以前的命令及其输出。在下面放一个输入或文本区域,用来保存你正在输入的命令。

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

这样,您只需将输入框的值发送到服务器进行处理,并将结果附加到控制台消息div。