jQuery获取textarea文本

时间:2008-09-28 00:05:57

标签: javascript jquery ajax

最近我开始玩jQuery,并且已经关注了几个教程。现在我觉得使用它有点干练(这很简单),我觉得如果我能在我的网页上制作一个“控制台”会很酷(就像你在{{3中那样按'键)游戏等),然后将Ajax本身重新安装到服务器上以便完成任务。

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

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

9 个答案:

答案 0 :(得分:674)

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

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

答案 1 :(得分:33)

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

得到:

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

组:

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

答案 2 :(得分:23)

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

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

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

答案 3 :(得分:13)

通常,它是值属性

testArea.value

或者在你需要的东西中是否有我缺少的东西?

答案 4 :(得分:8)

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

var char = String.fromCharCode(v_code);

然后我会将该字符附加到字符串中,当按下回车键时,将字符串发送到服务器。我很抱歉,如果我的问题看起来有点神秘,标题意味着几乎完全偏离主题,那是早上我还没吃过早餐;)。

感谢所有帮助人员。

答案 5 :(得分:7)

将“控制台”这个词拼写成混乱。

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

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

event.which有按下的键。对于退格处理,event.which === 8.

答案 6 :(得分:0)

最好的方法:     $(' #myTextBox')。val('新值')。trim();

答案 7 :(得分:0)

读取textarea值和代码字符转换:

function keys(e) {
  msg.innerHTML = `last key: ${String.fromCharCode(e.keyCode)}`
  
  if(e.key == 'Enter') {
    console.log('send: ', mycon.value);
    mycon.value='';
    e.preventDefault();
  }
}
Push enter to 'send'<br>
<textarea id='mycon' onkeydown="keys(event)"></textarea>

<div id="msg"></div>

并且仅在div-s上不错的 Quake like 控制台下面:)

document.addEventListener('keyup', keys);

let conShow = false

function keys(e) {
  if (e.code == 'Backquote') {
    conShow = !conShow;
    mycon.classList.toggle("showcon");
  } else {
    if (conShow) {
      if (e.code == "Enter") {
        conTextOld.innerHTML+= '<br>' + conText.innerHTML;
        let command=conText.innerHTML.replace(/&nbsp;/g,' ');
        conText.innerHTML='';
        console.log('Send to server:', command); 
      } 
      else if (e.code == "Backspace") {
        conText.innerHTML = conText.innerText.slice(0, -1);
      } else if (e.code == "Space") {
        conText.innerHTML = conText.innerText + '&nbsp;'
      } else {
        conText.innerHTML = conText.innerText + e.key;
      }

    }
  }
}
body {
  margin: 0
}

.con {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  width: 100%;
  height: 90px;
  background: rgba(255, 0, 0, 0.4);
  position: fixed;
  top: -90px;
  transition: top 0.5s ease-out 0.2s;
  font-family: monospace;
}

.showcon {
  top: 0px;
}

.conTextOld {
  color: white;
}

.line {
  display: flex;
  flex-direction: row;
}

.conText{   color: yellow; }

.carret {
  height: 20px;
  width: 10px;
  background: red;
  margin-left: 1px;
}

.start { color: red; margin-right: 2px}
Click here and Press tilde ` (and Enter for "send")

<div id="mycon" class="con">
  <div id='conTextOld' class='conTextOld'>Hello!</div>
  <div class="line">
    <div class='start'> > </div>
    <div id='conText' class="conText"></div>
    <div class='carret'></div>
  </div>
</div>

答案 8 :(得分:0)

您可以通过名称和ID获取文本区域数据

from pyspark.context import SparkContext
from pyspark.sql.session import SparkSession
import subprocess


sc = SparkContext()
spark = SparkSession(sc)


bucket = spark._jsc.hadoopConfiguration().get('fs.gs.system.bucket')
project = spark._jsc.hadoopConfiguration().get('fs.gs.project.id')
input_directory = 'gs://{}/hadoop/tmp/bigquery/pyspark_input'.format(bucket)


conf = {
    'mapred.bq.project.id': project,
    'mapred.bq.gcs.bucket': bucket,
    'mapred.bq.temp.gcs.path': input_directory,
    'mapred.bq.input.project.id': 'dataset_new',
    'mapred.bq.input.dataset.id': 'retail',
    'mapred.bq.input.table.id': 'market',
}