jQuery 获取 textarea 文本

IT技术 javascript jquery ajax
2021-01-23 13:23:50

最近我开始玩 jQuery,并且一直在学习一些教程。现在我觉得使用它有点能力(这很容易),我认为如果我能够在我的网页上制作一个“控制台”会很酷(例如,你像在FPS游戏中那样按下 ` 键,等),然后将其 Ajax 本身返回到服务器以执行操作。

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

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

6个回答

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

$('input#mybutton').click(function() {
    var text = $('textarea#mytextarea').val();
    //send to server and process response
});
因为 textarea 将包含的不仅仅是所需的文本。(它是控制台,可视化命令提示符)。感谢您提供有关 val 函数的信息。:)
2021-03-16 13:23:50
您可以使用 javascript 处理文本。返回击键代码有什么意义?
2021-03-16 13:23:50
我忘记了 html 标签 ID 前面的“textarea”部分
2021-03-16 13:23:50
对不起,我没能想象出这种情况是真的……也许如果你编辑了你的原始帖子并添加了一个例子,它会帮助人们试图回答
2021-03-18 13:23:50
重点是,imo,获取击键代码会比通过分隔符分割 textarea 更有效(图片可能是大量文本)。
2021-04-06 13:23:50

它通常是您使用的文本函数(例如在 div 等中)然后对于文本区域它是 val

得到:

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

放:

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

您应该有一个只包含控制台消息的 div,即之前的命令及其输出。在下面放置一个 input 或 textarea ,它只保存您正在输入的命令。

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

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

SO 上的另一个 XY 问题。这显然是他问题中“X”的最佳解决方案。
2021-04-05 13:23:50
是的,正是我在想的。这是唯一不涉及从输出解析输入的干净解决方案(尝试愚蠢 - 如果用户键入某些“输出”会怎样),或者尝试从击键事件构建字符串(愚蠢尝试- 退格等怎么样?)。
2021-04-09 13:23:50

通常,它是 value 属性

testArea.value

或者我在你需要的东西中缺少什么?

我实际上希望一个 textchanged 事件或沿线的东西会被调用(无论如何我可以用 keyup 事件很容易地做到这一点)。我想我会坚持使用 keyup 事件,但是您知道将键码转换为 ASCII 字符的方法吗?谢谢。:)
2021-04-03 13:23:50

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

var char = String.fromCharCode(v_code);

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

感谢您的所有帮助家伙。