繁体   English   中英

从中填充一个数组<textarea>&lt;i&gt;in JavaScript&lt;/div&gt;&lt;/i&gt;&lt;b&gt;在 JavaScript 中&lt;/div&gt;&lt;/b&gt;</textarea><div id="text_translate"><p> 我将如何从&lt;textarea&gt;输入中的文本填充数组?</p><p> 我的最终目标是获取一个名称列表,然后将其插入到一个数组中以执行一些操作。 名称将由行分隔,如下所示:</p><pre> bob tim sally</pre><p> 然后添加到数组中。 老实说,除了添加&lt;textarea&gt;和创建一个空白数组外,我不知道从哪里开始。 我正在阅读其他帖子,但它们使用的是 jQuery 或我还不知道的其他语言。 我的理解是我必须以某种方式拆分内容?</p></div>

[英]Populate an array from <textarea> in JavaScript

我将如何从<textarea>输入中的文本填充数组?

我的最终目标是获取一个名称列表,然后将其插入到一个数组中以执行一些操作。 名称将由行分隔,如下所示:

bob 
tim 
sally

然后添加到数组中。 老实说,除了添加<textarea>和创建一个空白数组外,我不知道从哪里开始。 我正在阅读其他帖子,但它们使用的是 jQuery 或我还不知道的其他语言。 我的理解是我必须以某种方式拆分内容?

这很简单:

var textarea = document.querySelector('textarea#names');
var textareaValue = textarea.value; // 'bob\ntim\nsally';
var arr = textareValue.split('\n');

split()获取字符串并将其切割成每个给定字符(或字符串)的数组。

\n是换行符。

编辑:回答下面评论中提出的问题:

var names = [];
var textarea = document.querySelector('textarea#names');

function saveNames() {
    names = textarea.value.split('\n');
}

textarea.addEventListener('blur', saveNames, false);
// or this:
// textarea.addEventListener('keyup', saveNames, false);

你使用事件 您可以使用blur事件甚至keyup事件。 基本上你会监听(事件)发生的事情(比如 textarea 失去焦点或用户按下键盘按钮),然后做一些事情(读取 textarea 值并将名称保存到数组)。

这当然是纯js,但是如果你想使用jquery,那么你需要去jquery reference看看如何使用jquery的事件

假设您有一个文本区域,并且在键入每个名称后按回车键。 这应该让你开始:

<textarea id="textToArray" style="width:300px; height:120px;"></textarea>
<button onclick="toArray()">To Array</button>
<div id="arrayOutput"><div/>

<script type="text/javascript">
    function toArray( ) {
        var textAreaElement = document.getElementById('textToArray');
        var namesArray = textAreaElement.value.trim().split('\n');
        console.log( namesArray );
        document.getElementById('arrayOutput').innerText = JSON.stringify(namesArray);
    }
</script>

如果你的话是 s 给你:

<textarea name="example" id="example" cols="30" rows="10">
    bob 
    tim 
    sally
</textarea>

const textareaContent = document.getElementById('example').value.split('\n');

演示

https://codepen.io/nicholasabrams/pen/weZaOj

试试这个:

<html>
<body>

<textarea id="textArea"></textarea>

<button onclick="textToArray()">to array</button>

<!--show array result-->
<p id="result"></p>

</body>
</html>
<script>
function textToArray() {
    //assign value of textarea to mytext
    var myText = document.getElementById("textArea").value;

    //split mytext by nextline = "\n" 
    var myArray = myText.split("\n");

    //to check the result
    var result = '';
    for(i=0;i<myArray.length;i++)
    {
        result += myArray[i]+"<br>";
    }

    document.getElementById("result").innerHTML = result;
}
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM