2017-10-17 65 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

相關問題