2017-10-17 106 views
1

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

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

当用户按下逗号或分号,或开始一个新行,这意味着所述号码中的一个完成,所以它必须把它当作数组项中的一个。我所做的是,我从textarea中获取值,但是只有1个数组项发送到数据库。

var whatidonotneed = ["1number2number1number2number1number"]; 

什么我不需要的是只有1项内的数组,而我需要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,以便它了解逗号或分号意味着它是其他数组项目之一。因为我得到的只是一个数组项,其中包含所有的信息。

+0

如果有错的一串数字,例如'VAR wrongNumbers = “1NUMBER/R/2number/R/3number”',你可以使用' split字符串上的函数。例如'wrongNumbers.split('/ r /')'将产生一个数组'[1number,2number,3number]'。 – Mateusz

+0

谢谢你的回答!但我认为你没有正确的理解,我需要在我的数组中有5个不同的单独项目,所以我将能够删除其中的一个,或任何。如果你知道如何做到这一点,请帮助。我会非常感激 –

回答

0

建立字段的名称。您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

相关问题