如何从textarea ejs文件获取数据库的数组?

我有一个textarea用户将放置5个或更多的电话号码或电子邮件。 我需要将这个textarea的信息保存到数据库(我使用Mongoskin)作为一个数组。 所以它必须是一个包含5个不同项目的数组。 所以这是我需要添加到数据库。

var phones = ["1number","2number","3number","4number","5number"]; 

当用户按下逗号或分号或开始换行时,表示其中一个数字已完成,因此必须将其视为数组项目之一。 我所做的是,我从textarea得到的值,但它是只有1个数组项发送到数据库。

 var whatidonotneed = ["1number2number1number2number1number"]; 

我不需要的是只有一个项目的数组,而我需要5个独立的数组文件。 所以我将能够操作它们。

这是我在我的EJS文件中的代码:

 <div style="text-align: center;"> <form action="/emailsid" method="POST"> <textarea placeholder="Type your Emails Here" name="users" rows="6" cols="60"> </textarea> <button>Submit</button> </form> 

并在我的app.js文件中:

 app.post("/emailsid", function(req,res){ db.collection('emails').insert({emails: [req.body.users]}, function(err,result) { if(err){ console.log(err); } else{ console.log(result); res.render("emailsid", {result: result}); } }); }); 

我只是不明白如何使这些数字是单个数组项,以及如何说textarea,以便它明白,逗号或分号意味着它是其他数组项目之一。 因为我得到的只是一个数组项,其中包含所有的信息。

build立字段的名称。 您的EJS文件上的更改:

 <form name="recopiled" action="/emailsid" method="POST"> <textarea placeholder="Type your Emails Here" name="users" rows="6" cols="60"></textarea> <input type='button' onClick="go(document.recopiled.users.value);" value="Submit" /> </form> 

您必须将此添加到您的app.js并设置textarea的电话号码的分隔符。

 function go(content) { delimiter="," // comma but you can set any character here. phones=content.split(delimiter); // now the phones of the textbox are in an array with separate values. phones.forEach(function(value, index) { // Here you can handle each item. // // Example: document.write('item: ' + phones[index] + '<br>'); }); // you can submit the form from here, or whatever you want. } 

请看一下https://www.w3schools.com/js/js_arrays.asp