Javascript jQuery获取文本区域文本

Javascript jQuery获取文本区域文本,javascript,jquery,ajax,Javascript,Jquery,Ajax,最近我开始使用jQuery,并一直在学习一些教程。现在我觉得使用它有点能力(这很容易),我想如果我能在我的网页上制作一个“控制台”(就像在游戏中那样,你按下“键”,然后让它自己回到服务器上做一些事情,那会很酷 我最初认为最好的方法是在textarea中获取文本,然后将其拆分,或者使用keyup事件,将返回的keycode转换为ASCII字符,将该字符附加到字符串并将该字符串发送到服务器(然后清空该字符串) 我找不到任何关于从文本区域获取文本的信息,我得到的只是键控信息。另外,如何将返回的键码转换

最近我开始使用jQuery,并一直在学习一些教程。现在我觉得使用它有点能力(这很容易),我想如果我能在我的网页上制作一个“控制台”(就像在游戏中那样,你按下“键”,然后让它自己回到服务器上做一些事情,那会很酷

我最初认为最好的方法是在textarea中获取文本,然后将其拆分,或者使用keyup事件,将返回的keycode转换为ASCII字符,将该字符附加到字符串并将该字符串发送到服务器(然后清空该字符串)


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

通常,它是value属性

testArea.value

或者您需要的东西中有我遗漏的东西吗?

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

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

我发现我可以使用以下函数将事件的键码转换为字符:

var char = String.fromCharCode(v_code);
然后,我会将该字符附加到一个字符串中,当按下enter键时,将该字符串发送到服务器。我很抱歉,如果我的问题看起来有点神秘,标题的意思几乎完全脱离主题,那是凌晨,我还没有吃早饭;)


谢谢大家的帮助。

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

-------------------------------
| consle output ...           |
| more output                 |
| prevous commands and data   |
-------------------------------
> This is an input box.
这样,您只需将输入框的值发送到服务器进行处理,并将结果附加到console messages div。

我认为“console”一词造成了混淆

如果您想模拟旧式的全/半双工控制台,您可以使用如下内容:

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

事件。该事件具有已按下的键。对于退格处理,event.which===8。

如果它通常是您使用的文本函数(例如在divs等中),那么对于文本区域,它是val

获取:

设置:

最好的方法是:
$('#myTextBox').val('new value').trim()

读取文本区域值和代码字符转换:

功能键(e){
msg.innerHTML=`最后一个键:${String.fromCharCode(e.keyCode)}`
如果(e.key=='Enter'){
console.log('send:',mycon.value);
mycon.value='';
e、 预防默认值();
}
}
按回车键“发送”

您可以按名称和id获取textarea数据

// by name
<textarea name="comment"></textarea>
let text_area_data = $('textarea[name="comment"]').val();

// by id
<textarea id="comment" name="comment"></textarea>
let text_area_data = $('textarea#comment').val();
//按名称
让text_area_data=$('textarea[name=“comment”]”)。val();
//凭身份证
让text_area_data=$('textarea#comment').val();

我实际上希望调用一个textchanged事件或类似的事件(无论如何,我可以很容易地使用keyup事件来实现这一点)。我想我会坚持使用keyup事件,但是您知道将keycode转换为ASCII字符的方法吗?谢谢。:)因为textarea包含的内容将超过所需的内容。(这是控制台,可视化命令提示符)。感谢您提供有关val函数的信息。:)您可以使用javascript处理文本。返回按键笔划代码的意义是什么?在我看来,获取按键笔划代码比用分隔符分割文本区域更有效(想象一个可能很大的文本数组)。对不起,我无法想象这样的场景。。。也许如果你编辑了你的原创文章并添加了一个例子,它会帮助人们回答我忘记了html标记IDies前面的“textarea”部分,这正是我所想的。这是唯一一个干净的解决方案,它既不涉及从输出中解析出输入(愚蠢的尝试——如果用户在某个“输出”上键入内容会怎么样),也不涉及从击键事件中构建字符串(愚蠢的尝试——如何处理退格等)。这是另一个XY问题。这显然是解决他问题“X”的最好办法。
$('#myTextBox').val('new value');
// by name
<textarea name="comment"></textarea>
let text_area_data = $('textarea[name="comment"]').val();

// by id
<textarea id="comment" name="comment"></textarea>
let text_area_data = $('textarea#comment').val();